Lines Matching defs:stats
9 /* $Id: stats.c,v 1.18 2009/01/27 23:47:54 tbox Exp $ */
17 #include <isc/stats.h>
22 #include <dns/stats.h>
89 dns_stats_attach(dns_stats_t *stats, dns_stats_t **statsp) {
90 REQUIRE(DNS_STATS_VALID(stats));
93 LOCK(&stats->lock);
94 stats->references++;
95 UNLOCK(&stats->lock);
97 *statsp = stats;
102 dns_stats_t *stats;
106 stats = *statsp;
109 LOCK(&stats->lock);
110 stats->references--;
111 UNLOCK(&stats->lock);
113 if (stats->references == 0) {
114 isc_stats_detach(&stats->counters);
115 DESTROYLOCK(&stats->lock);
116 isc_mem_putanddetach(&stats->mctx, stats, sizeof(*stats));
127 dns_stats_t *stats;
130 stats = isc_mem_get(mctx, sizeof(*stats));
131 if (stats == NULL)
134 stats->counters = NULL;
135 stats->references = 1;
137 result = isc_mutex_init(&stats->lock);
141 result = isc_stats_create(mctx, &stats->counters, ncounters);
145 stats->magic = DNS_STATS_MAGIC;
146 stats->type = type;
147 stats->mctx = NULL;
148 isc_mem_attach(mctx, &stats->mctx);
149 *statsp = stats;
154 DESTROYLOCK(&stats->lock);
156 isc_mem_put(mctx, stats, sizeof(*stats));
203 dns_generalstats_increment(dns_stats_t *stats, isc_statscounter_t counter) {
204 REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_general);
206 isc_stats_increment(stats->counters, counter);
210 dns_rdatatypestats_increment(dns_stats_t *stats, dns_rdatatype_t type) {
213 REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_rdtype);
222 isc_stats_increment(stats->counters, (isc_statscounter_t)counter);
226 update_rdatasetstats(dns_stats_t *stats, dns_rdatastatstype_t rrsettype,
252 isc_stats_decrement(stats->counters, counter);
255 isc_stats_increment(stats->counters, counter);
260 isc_stats_decrement(stats->counters, counter);
265 dns_rdatasetstats_increment(dns_stats_t *stats, dns_rdatastatstype_t rrsettype)
267 REQUIRE(DNS_STATS_VALID(stats) &&
268 stats->type == dns_statstype_rdataset);
270 update_rdatasetstats(stats, rrsettype, ISC_TRUE);
274 dns_rdatasetstats_decrement(dns_stats_t *stats, dns_rdatastatstype_t rrsettype)
276 REQUIRE(DNS_STATS_VALID(stats) &&
277 stats->type == dns_statstype_rdataset);
279 update_rdatasetstats(stats, rrsettype, ISC_FALSE);
283 dns_opcodestats_increment(dns_stats_t *stats, dns_opcode_t code) {
284 REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_opcode);
286 isc_stats_increment(stats->counters, (isc_statscounter_t)code);
290 dns_rcodestats_increment(dns_stats_t *stats, dns_rcode_t code) {
291 REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_rcode);
294 isc_stats_increment(stats->counters, (isc_statscounter_t)code);
301 dns_generalstats_dump(dns_stats_t *stats, dns_generalstats_dumper_t dump_fn,
304 REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_general);
306 isc_stats_dump(stats->counters, (isc_stats_dumper_t)dump_fn,
338 dns_rdatatypestats_dump(dns_stats_t *stats, dns_rdatatypestats_dumper_t dump_fn,
342 REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_rdtype);
346 isc_stats_dump(stats->counters, rdatatype_dumpcb, &arg, options);
385 dns_rdatasetstats_dump(dns_stats_t *stats, dns_rdatatypestats_dumper_t dump_fn,
390 REQUIRE(DNS_STATS_VALID(stats) &&
391 stats->type == dns_statstype_rdataset);
395 isc_stats_dump(stats->counters, rdataset_dumpcb, &arg, options);
413 dns_opcodestats_dump(dns_stats_t *stats, dns_opcodestats_dumper_t dump_fn,
418 REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_opcode);
422 isc_stats_dump(stats->counters, opcode_dumpcb, &arg, options);
426 dns_rcodestats_dump(dns_stats_t *stats, dns_rcodestats_dumper_t dump_fn,
431 REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_rcode);
435 isc_stats_dump(stats->counters, rcode_dumpcb, &arg, options);