aboutsummaryrefslogtreecommitdiff
path: root/src/core/stats.c
Commit message (Collapse)AuthorAge
* fix includes for coreGarrett D'Amore2025-10-11
|
* refactor initialization/finalizationGarrett D'Amore2024-11-11
| | | | | | | | | Applications must now call nng_init(), but they can supply a set of parameters optionally. The code is now safe for multiple libraries to do this concurrently, meaning nng_fini no longer can race against another instance starting up. The nni_init checks on all public APIs are removed now.
* Use `const` for nng_stat when possible.Garrett D'Amore2024-10-20
| | | | | This should help the compiler enforce checks, and may result in better optimizations.
* fixes #1890 stats could support an inline lock - remove most atomicsGarrett D'Amore2024-10-13
| | | | | This starts by updating UDP to use this approach, since we already have a convenient lock. We should look at doing the same for other stats.
* stats: Reduce the need for NNG_ENABLE_STATS checks everywhere.Garrett D'Amore2024-10-13
|
* fixes #1577 nng_stat_find_socket always returns the same stats nodeGarrett D'Amore2022-04-16
| | | | | Also this fixes problems with uninitialized socket names, and the socket name stat not being adjusted correctly when set via API.
* ID map static initialization support.Garrett D'Amore2021-12-06
| | | | This also arranges to clean up the maps at nng_fini time.
* Use static initialization for lists and mutexes.Garrett D'Amore2021-12-05
| | | | | | This eliminates some run-time initialization, moving it to compile time. Additional follow up work will expand on this to simplify initialization and reduce the need for certain locks.
* New NUTS test framework (NNG Unit Test Support).Garrett D'Amore2020-11-23
| | | | | | | | | | | | | This is based on testutil/acutest, but is cleaner and fixes some short-comings. We will be adding more support for additional common paradigms to better facilitate transport tests. While here we added some more test cases, and fixed a possible symbol collision in the the stats framework (due to Linux use of a macro definition of "si_value" in a standard OS header). Test coverage may regress slightly as we are no longer using some of the legacy APIs.
* *Fix Add missing #define when disabling NNG_ENABLE_STATS (#1342)JaylinYu2020-11-13
| | | Co-authored-by: Jaylin <oblivionangel@sina.com>
* fixes #1323 stats framework is *way* to heavyGarrett D'Amore2020-11-11
| | | | | | This should reduce the amount of copying, and the overall size used by pipes and other objects quite a bit. (On my system, the sizeof nni_pipe shrank by 400 bytes, for example.)
* fixes #1329 stats could lose parent and private fieldsGarrett D'Amore2020-11-08
|
* Fixup a few codacy complaints.Garrett D'Amore2020-01-01
|
* fixes #1081 Use after free possible in statsGarrett D'Amore2020-01-01
| | | | | | | fixes #1080 Desire better way to access statistics for NNG objects We've also added a test that uses some of this, in order to verify that the req protocol rejects invalid peers.
* Fix compilation errors and warnings when NNG_ENABLE_STATS is OFFRobert Bielik2019-12-30
|
* fixes #1064 Potential deadlock in statistics codeGarrett D'Amore2019-12-29
| | | | | | | | fixes #1063 Include sanitizer runs in CI fixes #1068 Wssfile test sometimes fails with wrong error code While here, addressed a number of clang-tidy items, and some light cleanup of code we were already in.
* fix #946 Use after free in TLSGarrett D'Amore2019-05-19
| | | | | This also introduces a more efficient reference counting usage based on atomics, rather than locks.
* Introduce nni_plat_printf()Garrett D'Amore2019-05-07
| | | | | This permits the stats dump to avoid some extra buffering, and resolves a complaint about possible format buffer overruns.
* fixes #841 Calling nng_stats_get() before creating socket panicsGarrett D'Amore2019-01-01
| | | | | While here fixed a spelling error in the description of the global statistics structure.
* fixes #782 stat namespace collision on QNXGarrett D'Amore2018-11-09
|
* fixes #713 stats warnings from WindowsGarrett D'Amore2018-09-09
|
* fixes #4 Statistics supportGarrett D'Amore2018-09-03
This introduces new public APIs for obtaining statistics, and adds some generic stats for dialers, listeners, pipes, and sockets. Also added are stats for inproc and pairv1 protocol. The other protocols and transports will have stats added incrementally as time goes on. A simple test program, and man pages are provided for this. Start by looking at nng_stat(5). Statistics does have some impact, and they can be disabled by using the advanced NNG_ENABLE_STATS (setting it to OFF, it's ON by default) if you need to build a minimized configuration.