plugin.c: Added a comment that explains why the order of the linked list and callback...
[collectd.git] / src / dns.c
index 255d176..7ce7aad 100644 (file)
--- a/src/dns.c
+++ b/src/dns.c
@@ -50,37 +50,6 @@ typedef struct counter_list_s counter_list_t;
 /*
  * Private variables
  */
-static data_source_t octets_dsrc[2] =
-{
-       {"queries",   DS_TYPE_COUNTER, 0, 125000000.0},
-       {"responses", DS_TYPE_COUNTER, 0, 125000000.0}
-};
-
-static data_set_t octets_ds =
-{
-       "dns_octets", 2, octets_dsrc
-};
-
-static data_source_t counter_dsrc[1] =
-{
-       {"value", DS_TYPE_COUNTER, 0, 65535.0}
-};
-
-static data_set_t qtype_ds =
-{
-       "dns_qtype", 1, counter_dsrc
-};
-
-static data_set_t opcode_ds =
-{
-       "dns_opcode", 1, counter_dsrc
-};
-
-static data_set_t rcode_ds =
-{
-       "dns_rcode", 1, counter_dsrc
-};
-
 #if DNS_HAVE_READ
 static const char *config_keys[] =
 {
@@ -256,7 +225,7 @@ static void *dns_child_loop (void *dummy)
        pcap_obj = pcap_open_live (pcap_device,
                        PCAP_SNAPLEN,
                        0 /* Not promiscuous */,
-                       atoi (COLLECTD_STEP),
+                       interval_g,
                        pcap_error);
        if (pcap_obj == NULL)
        {
@@ -379,7 +348,9 @@ static int dns_read (void)
        values[0] = tr_queries;
        values[1] = tr_responses;
        pthread_mutex_unlock (&traffic_mutex);
-       submit_octets (values[0], values[1]);
+
+       if ((values[0] != 0) || (values[1] != 0))
+               submit_octets (values[0], values[1]);
 
        pthread_mutex_lock (&qtype_mutex);
        for (ptr = qtype_list, len = 0;
@@ -435,11 +406,6 @@ static int dns_read (void)
 
 void module_register (void)
 {
-       plugin_register_data_set (&octets_ds);
-       plugin_register_data_set (&qtype_ds);
-       plugin_register_data_set (&opcode_ds);
-       plugin_register_data_set (&rcode_ds);
-
 #if DNS_HAVE_READ
        plugin_register_config ("dns", dns_config, config_keys, config_keys_num);
        plugin_register_init ("dns", dns_init);