Lines Matching defs:stats
1 /* $NetBSD: stats.c,v 1.8 2025/01/26 16:25:46 christos Exp $ */
21 #include <isc/stats.h>
24 #include <ns/stats.h>
38 ns_stats_attach(ns_stats_t *stats, ns_stats_t **statsp) {
39 REQUIRE(NS_STATS_VALID(stats));
42 isc_refcount_increment(&stats->references);
44 *statsp = stats;
49 ns_stats_t *stats;
53 stats = *statsp;
56 if (isc_refcount_decrement(&stats->references) == 1) {
57 isc_stats_detach(&stats->counters);
58 isc_refcount_destroy(&stats->references);
59 isc_mem_putanddetach(&stats->mctx, stats, sizeof(*stats));
67 ns_stats_t *stats = isc_mem_get(mctx, sizeof(*stats));
68 stats->counters = NULL;
70 isc_refcount_init(&stats->references, 1);
72 isc_stats_create(mctx, &stats->counters, ncounters);
74 stats->magic = NS_STATS_MAGIC;
75 stats->mctx = NULL;
76 isc_mem_attach(mctx, &stats->mctx);
77 *statsp = stats;
84 ns_stats_increment(ns_stats_t *stats, isc_statscounter_t counter) {
85 REQUIRE(NS_STATS_VALID(stats));
87 return isc_stats_increment(stats->counters, counter);
91 ns_stats_decrement(ns_stats_t *stats, isc_statscounter_t counter) {
92 REQUIRE(NS_STATS_VALID(stats));
94 isc_stats_decrement(stats->counters, counter);
98 ns_stats_get(ns_stats_t *stats) {
99 REQUIRE(NS_STATS_VALID(stats));
101 return stats->counters;
105 ns_stats_update_if_greater(ns_stats_t *stats, isc_statscounter_t counter,
107 REQUIRE(NS_STATS_VALID(stats));
109 isc_stats_update_if_greater(stats->counters, counter, value);
113 ns_stats_get_counter(ns_stats_t *stats, isc_statscounter_t counter) {
114 REQUIRE(NS_STATS_VALID(stats));
116 return isc_stats_get_counter(stats->counters, counter);