[bind10-dev] Ideas about statistics

Naoki Kambe kambe at jprs.co.jp
Thu May 13 12:55:26 UTC 2010


Hi All,

I report my ideas about statistics.

Our short-term goals:
 - Fix protocol between stats daemon and other components
 - Code prototypes which work with other components

Life cycle of stats daemon:
 1. Boss started stats daemon.
 2. Stats daemon broadcasts "stats daemon is ready for gathering
    statistics data".
 3. Other components send their statistics data to stats channel
    periodically.
 4. Stats daemon gathers statistics data and aggregates it.
 5. When a user invokes statistics-publish command via bindctl, 
    stats daemon reports formatted statistics data via bindctl.
 6. If bind10 is shutting down, stats is killed by Boss.

Statistics items (for initial version):

  * Output items which stats daemon pushes to bindctl

    - Local name
    - Boot time
    - Reported time
    - Process id
    - Incoming Queries (TCP)
    - Incoming Queries (UDP)

  * Input items which stats daemon is gathering from other components
    (initially only from Boss and Auth)

    from Boss to stats
    - Version number
    - Process id
    - Boot time
    - localname

    from Auth to stats
    - Version number
    - Process id
    - Incoming Queries (TCP)
    - Incoming Queries (UDP)

Example of output data format

 * XML format:
    <isc version="1.0">
      <bind10>
        <statistics>
          <server>
            <localname>4bea7903_4 at host</localname> 
            <boot-time>2010-05-13T05:19:43Z</boot-time> 
            <reported-time>2010-05-13T05:44:41Z</reported-time> 
            <process-id>999</process-id>
            <queries-in>
              <name>tcp</name>
              <counter>8888</counter>
              <name>udp</name>
              <counter>9999</counter>
            </queries-in>
          </server>
        </statistics>
      </bind>
    </isc>

Example of bindctl input sample:

 >> Stats print_stats
    ++ BIND 10 Statistics Report ++
    Local name:	4bea7903_4 at host
    Boot time:	2010-05-13T05:19:43Z
    Reported time:	2010-05-13T05:44:41Z
    Process id: 	999
    Incoming Queries (TCP):	8888
    Incoming Queries (UDP):	9999
    ++ BIND 10 Statistics Report ++

    * "print_stats" command just prints statistics data.

 >> Stats clear_stats
    stats cleared.
  
    * "clear_stats" command is useful for resetting counts.

 >> Stats print_stats
    ++ BIND 10 Statistics Report ++
    Local name:	4bea7903_4 at host
    Boot time:	2010-05-13T05:19:43Z
    Reported time:	2010-05-13T05:47:12Z
    Process id: 	999
    Incoming Queries:	0
    Incoming Queries (TCP):	0
                        	^
    Incoming Queries (UDP):	0
                        	^
    ++ BIND 10 Statistics Report ++

    * It shows that counts are reset.

Thanks,

Naoki Kambe



More information about the bind10-dev mailing list