Lines Matching refs:stats

18 /* $Id: stats.c,v 1.18 2009/01/27 23:47:54 tbox Exp $ */
26 #include <isc/stats.h>
31 #include <dns/stats.h>
87 dns_stats_attach(dns_stats_t *stats, dns_stats_t **statsp) {
88 REQUIRE(DNS_STATS_VALID(stats));
91 LOCK(&stats->lock);
92 stats->references++;
93 UNLOCK(&stats->lock);
95 *statsp = stats;
100 dns_stats_t *stats;
104 stats = *statsp;
107 LOCK(&stats->lock);
108 stats->references--;
109 UNLOCK(&stats->lock);
111 if (stats->references == 0) {
112 isc_stats_detach(&stats->counters);
113 DESTROYLOCK(&stats->lock);
114 isc_mem_putanddetach(&stats->mctx, stats, sizeof(*stats));
125 dns_stats_t *stats;
128 stats = isc_mem_get(mctx, sizeof(*stats));
129 if (stats == NULL)
132 stats->counters = NULL;
133 stats->references = 1;
135 result = isc_mutex_init(&stats->lock);
139 result = isc_stats_create(mctx, &stats->counters, ncounters);
143 stats->magic = DNS_STATS_MAGIC;
144 stats->type = type;
145 stats->mctx = NULL;
146 isc_mem_attach(mctx, &stats->mctx);
147 *statsp = stats;
152 DESTROYLOCK(&stats->lock);
154 isc_mem_put(mctx, stats, sizeof(*stats));
193 dns_generalstats_increment(dns_stats_t *stats, isc_statscounter_t counter) {
194 REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_general);
196 isc_stats_increment(stats->counters, counter);
200 dns_rdatatypestats_increment(dns_stats_t *stats, dns_rdatatype_t type) {
203 REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_rdtype);
212 isc_stats_increment(stats->counters, (isc_statscounter_t)counter);
216 update_rdatasetstats(dns_stats_t *stats, dns_rdatastatstype_t rrsettype,
240 isc_stats_increment(stats->counters, counter);
242 isc_stats_decrement(stats->counters, counter);
246 dns_rdatasetstats_increment(dns_stats_t *stats, dns_rdatastatstype_t rrsettype)
248 REQUIRE(DNS_STATS_VALID(stats) &&
249 stats->type == dns_statstype_rdataset);
251 update_rdatasetstats(stats, rrsettype, ISC_TRUE);
255 dns_rdatasetstats_decrement(dns_stats_t *stats, dns_rdatastatstype_t rrsettype)
257 REQUIRE(DNS_STATS_VALID(stats) &&
258 stats->type == dns_statstype_rdataset);
260 update_rdatasetstats(stats, rrsettype, ISC_FALSE);
263 dns_opcodestats_increment(dns_stats_t *stats, dns_opcode_t code) {
264 REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_opcode);
266 isc_stats_increment(stats->counters, (isc_statscounter_t)code);
273 dns_generalstats_dump(dns_stats_t *stats, dns_generalstats_dumper_t dump_fn,
276 REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_general);
278 isc_stats_dump(stats->counters, (isc_stats_dumper_t)dump_fn,
310 dns_rdatatypestats_dump(dns_stats_t *stats, dns_rdatatypestats_dumper_t dump_fn,
314 REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_rdtype);
318 isc_stats_dump(stats->counters, rdatatype_dumpcb, &arg, options);
339 dns_rdatasetstats_dump(dns_stats_t *stats, dns_rdatatypestats_dumper_t dump_fn,
344 REQUIRE(DNS_STATS_VALID(stats) &&
345 stats->type == dns_statstype_rdataset);
349 isc_stats_dump(stats->counters, rdataset_dumpcb, &arg, options);
360 dns_opcodestats_dump(dns_stats_t *stats, dns_opcodestats_dumper_t dump_fn,
365 REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_opcode);
369 isc_stats_dump(stats->counters, opcode_dumpcb, &arg, options);