Code

statsd plugin: Make metric names case-sensitive.
[collectd.git] / src / mic.c
index 1c3ff5596bae6e93d8ad65a9fb862123cb18d06d..570da51bcfd56c20296effdd64e570e3ff9eb6b9 100644 (file)
--- a/src/mic.c
+++ b/src/mic.c
@@ -53,8 +53,8 @@ static const char *config_keys[] =
        "Temperature",
        "IgnoreSelectedTemperature",
        "ShowPower",
-       "PowerSensor",
-       "IgnorePowerSelected"
+       "Power",
+       "IgnoreSelectedPower"
 };
 static int config_keys_num = STATIC_ARRAY_SIZE (config_keys);
 
@@ -131,11 +131,11 @@ static int mic_config (const char *key, const char *value) {
                        invert = 0;
                ignorelist_set_invert(temp_ignore,invert);
        }
-       else if (strcasecmp("PowerSensor",key) == 0)
+       else if (strcasecmp("Power",key) == 0)
        {
                ignorelist_add(power_ignore,value);
        }
-       else if (strcasecmp("IgnorePowerSelected",key) == 0)
+       else if (strcasecmp("IgnoreSelectedPower",key) == 0)
        {
                int invert = 1;
                if (IS_TRUE(value))
@@ -297,7 +297,7 @@ static int mic_read_cpu(int mic)
        return (0);
 }
 
-static void mic_submit_power(int micnumber, const char *type_instance, gauge_t val)
+static void mic_submit_power(int micnumber, const char *type, const char *type_instance, gauge_t val)
 {
        value_t values[1];
        value_list_t vl = VALUE_LIST_INIT;
@@ -310,7 +310,7 @@ static void mic_submit_power(int micnumber, const char *type_instance, gauge_t v
        strncpy (vl.host, hostname_g, sizeof (vl.host));
        strncpy (vl.plugin, "mic", sizeof (vl.plugin));
        ssnprintf (vl.plugin_instance, sizeof (vl.plugin_instance), "%i", micnumber);
-       strncpy (vl.type, "power", sizeof (vl.type));
+       strncpy (vl.type, type, sizeof (vl.type));
        strncpy (vl.type_instance, type_instance, sizeof (vl.type_instance));
 
        plugin_dispatch_values (&vl);
@@ -329,13 +329,15 @@ static int mic_read_power(int mic)
                return (1);
        }
 
+       /* power is in uWatts, current in mA, voltage in uVolts..   convert to
+        * base unit */
        #define SUB_POWER(name) do { if (ignorelist_match(power_ignore,#name)==0) \
-               mic_submit_power(mic,#name,(gauge_t)power_use.name.prr); \
+               mic_submit_power(mic,"power",#name,(gauge_t)power_use.name.prr*0.000001); \
        } while(0)
        #define SUB_VOLTS(name) do { if (ignorelist_match(power_ignore,#name)==0) {\
-               mic_submit_power(mic,#name "-pwr",(gauge_t)power_use.name.pwr); \
-               mic_submit_power(mic,#name "-cur",(gauge_t)power_use.name.pwr); \
-               mic_submit_power(mic,#name "-volt",(gauge_t)power_use.name.pwr); \
+               mic_submit_power(mic,"power",#name,(gauge_t)(power_use.name.pwr*0.000001)); \
+               mic_submit_power(mic,"current",#name,(gauge_t)(power_use.name.cur*0.001)); \
+               mic_submit_power(mic,"voltage",#name,(gauge_t)(power_use.name.volt*0.000001)); \
        }} while(0)
 
        SUB_POWER(total0);
@@ -396,7 +398,9 @@ static int mic_read (void)
 static int mic_shutdown (void)
 {
        if (mic_handle)
-       MicCloseAPI(&mic_handle);
+               MicCloseAPI(&mic_handle);
+       mic_handle = NULL;
+
        return (0);
 }