2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-29 13:38:26 +00:00

statistics counting was slowing down the server. Make client.c:count_query()

inline and remove dns_stats_ncounters(), which just returned the public
constant DNS_STATS_NCOUNTERS.
This commit is contained in:
Brian Wellington 2001-01-23 01:50:29 +00:00
parent 7817a6f41b
commit d29da750d2
4 changed files with 16 additions and 29 deletions

View File

@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: query.c,v 1.175 2001/01/22 19:21:19 gson Exp $ */
/* $Id: query.c,v 1.176 2001/01/23 01:50:25 bwelling Exp $ */
#include <config.h>
@ -141,10 +141,11 @@ synth_rev_respond(ns_client_t *client, dns_byaddrevent_t *bevent);
/*
* Increment query statistics counters.
*/
static void
count_query(dns_zone_t *zone, isc_boolean_t is_zone, dns_statscounter_t counter)
static inline void
count_query(dns_zone_t *zone, isc_boolean_t is_zone,
dns_statscounter_t counter)
{
REQUIRE(counter < dns_stats_ncounters());
REQUIRE(counter < DNS_STATS_NCOUNTERS);
ns_g_server->querystats[counter]++;
@ -2387,8 +2388,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
}
fname = query_newname(client, dbuf, &b);
if (fname == NULL) {
count_query(zone, is_zone,
dns_statscounter_failure);
count_query(zone, is_zone, dns_statscounter_failure);
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
@ -2518,7 +2518,8 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
result = dns_name_copy(client->query.qname,
fname, NULL);
if (result != ISC_R_SUCCESS) {
count_query(zone, is_zone, dns_statscounter_failure);
count_query(zone, is_zone,
dns_statscounter_failure);
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
@ -2704,7 +2705,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
NS_QUERYATTR_RECURSING;
else {
count_query(zone, is_zone,
dns_statscounter_failure);
dns_statscounter_failure);
QUERY_ERROR(DNS_R_SERVFAIL);
}
} else {
@ -2758,8 +2759,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
*/
result = query_addsoa(client, db, ISC_FALSE);
if (result != ISC_R_SUCCESS) {
count_query(zone, is_zone,
dns_statscounter_failure);
count_query(zone, is_zone, dns_statscounter_failure);
QUERY_ERROR(result);
goto cleanup;
}
@ -2817,8 +2817,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
else
result = query_addsoa(client, db, ISC_FALSE);
if (result != ISC_R_SUCCESS) {
count_query(zone, is_zone,
dns_statscounter_failure);
count_query(zone, is_zone, dns_statscounter_failure);
QUERY_ERROR(result);
goto cleanup;
}
@ -3042,8 +3041,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
rdsiter = NULL;
result = dns_db_allrdatasets(db, node, version, 0, &rdsiter);
if (result != ISC_R_SUCCESS) {
count_query(zone, is_zone,
dns_statscounter_failure);
count_query(zone, is_zone, dns_statscounter_failure);
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}

View File

@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: server.c,v 1.283 2001/01/22 19:21:18 gson Exp $ */
/* $Id: server.c,v 1.284 2001/01/23 01:50:26 bwelling Exp $ */
#include <config.h>
@ -2395,7 +2395,7 @@ ns_server_dumpstats(ns_server_t *server) {
CHECKM(isc_stdio_open(server->statsfile, "a", &fp),
"could not open statistics dump file");
ncounters = dns_stats_ncounters();
ncounters = DNS_STATS_NCOUNTERS;
fprintf(fp, "+++ Statistics Dump +++ (%lu)\n", (unsigned long)now);
for (i = 0; i < ncounters; i++)

View File

@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: stats.h,v 1.2 2001/01/09 21:53:30 bwelling Exp $ */
/* $Id: stats.h,v 1.3 2001/01/23 01:50:29 bwelling Exp $ */
#ifndef DNS_STATS_H
#define DNS_STATS_H 1
@ -52,12 +52,6 @@ dns_stats_freecounters(isc_mem_t *mctx, isc_uint64_t **ctrp);
* context 'mctx'.
*/
unsigned int
dns_stats_ncounters(void);
/*
* Return the number of query statistics counters.
*/
ISC_LANG_ENDDECLS
#endif /* DNS_STATS_H */

View File

@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: stats.c,v 1.3 2001/01/09 21:51:34 bwelling Exp $ */
/* $Id: stats.c,v 1.4 2001/01/23 01:50:28 bwelling Exp $ */
#include <config.h>
@ -50,8 +50,3 @@ dns_stats_freecounters(isc_mem_t *mctx, isc_uint64_t **ctrp) {
isc_mem_put(mctx, *ctrp, DNS_STATS_NCOUNTERS * sizeof(isc_uint64_t));
*ctrp = NULL;
}
unsigned int
dns_stats_ncounters(void) {
return (DNS_STATS_NCOUNTERS);
}