-static int mic_read_cpu(int mic)
-{
- MicCoreUtil core_util;
- MicCoreJiff core_jiffs[MAX_CORES];
- U32 core_jiffs_size;
- U32 status;
-
- core_jiffs_size = MAX_CORES * sizeof(MicCoreJiff);
- status = MicGetCoreUtilization(mic_handle, &core_util,
- core_jiffs, &core_jiffs_size);
- if (status != MIC_ACCESS_API_SUCCESS) {
- ERROR("mic plugin: Problem getting CPU utilization: %s",
- MicGetErrorString(status));
- return(-1);
- }
-
- if (show_total_cpu) {
- mic_submit_cpu(mic, "user", -1, core_util.sum.user);
- mic_submit_cpu(mic, "sys", -1, core_util.sum.sys);
- mic_submit_cpu(mic, "nice", -1, core_util.sum.nice);
- mic_submit_cpu(mic, "idle", -1, core_util.sum.idle);
- }
-
- if (show_per_cpu) {
- int j;
- for (j = 0; j < core_util.core; j++) {
- mic_submit_cpu(mic, "user", j, core_jiffs[j].user);
- mic_submit_cpu(mic, "sys", j, core_jiffs[j].sys);
- mic_submit_cpu(mic, "nice", j, core_jiffs[j].nice);
- mic_submit_cpu(mic, "idle", j, core_jiffs[j].idle);
- }
- }
- return (0);
+static int mic_read_cpu(int mic) {
+ MicCoreUtil core_util;
+ MicCoreJiff core_jiffs[MAX_CORES];
+ U32 core_jiffs_size;
+ U32 status;
+
+ core_jiffs_size = MAX_CORES * sizeof(MicCoreJiff);
+ status = MicGetCoreUtilization(mic_handle, &core_util, core_jiffs,
+ &core_jiffs_size);
+ if (status != MIC_ACCESS_API_SUCCESS) {
+ ERROR("mic plugin: Problem getting CPU utilization: %s",
+ MicGetErrorString(status));
+ return -1;
+ }
+
+ if (show_cpu) {
+ mic_submit_cpu(mic, "user", -1, core_util.sum.user);
+ mic_submit_cpu(mic, "sys", -1, core_util.sum.sys);
+ mic_submit_cpu(mic, "nice", -1, core_util.sum.nice);
+ mic_submit_cpu(mic, "idle", -1, core_util.sum.idle);
+ }
+
+ if (show_cpu_cores) {
+ for (int j = 0; j < core_util.core; j++) {
+ mic_submit_cpu(mic, "user", j, core_jiffs[j].user);
+ mic_submit_cpu(mic, "sys", j, core_jiffs[j].sys);
+ mic_submit_cpu(mic, "nice", j, core_jiffs[j].nice);
+ mic_submit_cpu(mic, "idle", j, core_jiffs[j].idle);
+ }
+ }
+ return 0;
+}
+
+static void mic_submit_power(int micnumber, const char *type,
+ const char *type_instance, gauge_t value) {
+ value_list_t vl = VALUE_LIST_INIT;
+
+ vl.values = &(value_t){.gauge = value};
+ vl.values_len = 1;
+
+ strncpy(vl.plugin, "mic", sizeof(vl.plugin));
+ snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%i", micnumber);
+ strncpy(vl.type, type, sizeof(vl.type));
+ strncpy(vl.type_instance, type_instance, sizeof(vl.type_instance));
+
+ plugin_dispatch_values(&vl);