BIND 10 #2154: Create a set of counters to hold auth statistics items

BIND 10 Development do-not-reply at isc.org
Thu Aug 23 12:50:59 UTC 2012


#2154: Create a set of counters to hold auth statistics items
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  y-aharen
  y-aharen                           |                Status:  reviewing
                       Type:         |             Milestone:
  enhancement                        |  Sprint-20120904
                   Priority:         |            Resolution:
  medium                             |             Sensitive:  0
                  Component:         |           Sub-Project:  DNS
  b10-auth                           |  Estimated Difficulty:  8
                   Keywords:         |           Total Hours:  0
            Defect Severity:  N/A    |
Feature Depending on Ticket:         |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
Changes (by jelte):

 * owner:  jelte => y-aharen


Comment:

 I still wonder whether these should be flat enums; especially in the case
 where we already have a group with a number->string relation (query types,
 opcodes, rcodes, etc.); for instance, in this way, all query types that
 fall outside of the current list will be reported as 'other', even though
 they have a perfectly acceptable type code (TYPEXX), this in itself may or
 may not be fine depending on the requirements.

 I also suspect this will make counting them trickier than strictly
 necessary; if you'd have multiple layers in the base structure, I'd
 imagine you could simply do something like
 increaseCounter(QR_QTYPE, question.getType().getCode());

 (where increaseCounter would have an optional integer argument for those
 types that have subdivisions based on a number, like query types, opcodes,
 and rcodes).

 Of course these base structures might need to be more complicated in such
 a scenario (or we'd need another way to track which ones have
 subdivisions). And there could be efficiency reasons not to do it, but
 still.

 Regarding the code itself, statistics_items.h contains one small style
 issue:
 {{{
 const char *SocketCounterItemName[SOCKET_COUNTER_TYPES] = {
 }}}

 should be
 {{{
 const char* SocketCounterItemName[SOCKET_COUNTER_TYPES] = {
 }}}

 and it can be made const char* const btw.

 Same for QRCounterItemName[]

 Lastly, I found a number of items on the original StatisticsItems page for
 Auth which aren't here:
 {{{
 auth.[zonename].authqryrej
 auth.[zonename].updaterej
 auth.[zonename].update.reqfwd
 auth.[zonename].update.respfwd
 auth.[zonename].update.fwdfail
 auth.[zonename].update.done
 auth.[zonename].update.fail
 auth.[zonename].update.badprereq
 }}}

 Obviously most of these aren't in auth because they will go in b10-ddns
 (except perhaps updaterej if ddns is not running?), so those should
 probably get their own category on the wiki page. Only the first one
 sounds like it could have been missed.

-- 
Ticket URL: <http://bind10.isc.org/ticket/2154#comment:8>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list