X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Fintel_pmu.c;h=957004d0f594d1cec836d4dfc178e29e53b418f3;hp=a964a5ffd77a27fbb36309bf5239bde801caeebf;hb=7b8851b26928b609ce850e78c1eabb50ff319244;hpb=aaff3f3e59cb383e6b7b55a92ae72143bb382b20 diff --git a/src/intel_pmu.c b/src/intel_pmu.c index a964a5ff..957004d0 100644 --- a/src/intel_pmu.c +++ b/src/intel_pmu.c @@ -192,7 +192,8 @@ static void pmu_dump_config(void) { DEBUG(PMU_PLUGIN ": software_events : %d", g_ctx.sw_events); for (size_t i = 0; i < g_ctx.hw_events_count; i++) { - DEBUG(PMU_PLUGIN ": hardware_events[%zu]: %s", i, g_ctx.hw_events[i]); + DEBUG(PMU_PLUGIN ": hardware_events[%" PRIsz "]: %s", i, + g_ctx.hw_events[i]); } } @@ -285,24 +286,24 @@ static void pmu_submit_counter(int cpu, char *event, counter_t value, plugin_dispatch_values(&vl); } -meta_data_t *pmu_event_get_meta(struct event *e, int cpu) { +meta_data_t *pmu_meta_data_create(const struct efd *efd) { meta_data_t *meta = NULL; /* create meta data only if value was scaled */ - if (e->efd[cpu].val[1] != e->efd[cpu].val[2] && e->efd[cpu].val[2]) { - meta = meta_data_create(); - if (meta == NULL) { - ERROR(PMU_PLUGIN ": meta_data_create failed."); - return NULL; - } + if (efd->val[1] == efd->val[2] || !efd->val[2]) { + return NULL; + } - meta_data_add_unsigned_int(meta, "intel_pmu:raw_count", e->efd[cpu].val[0]); - meta_data_add_unsigned_int(meta, "intel_pmu:time_enabled", - e->efd[cpu].val[1]); - meta_data_add_unsigned_int(meta, "intel_pmu:time_running", - e->efd[cpu].val[2]); + meta = meta_data_create(); + if (meta == NULL) { + ERROR(PMU_PLUGIN ": meta_data_create failed."); + return NULL; } + meta_data_add_unsigned_int(meta, "intel_pmu:raw_count", efd->val[0]); + meta_data_add_unsigned_int(meta, "intel_pmu:time_enabled", efd->val[1]); + meta_data_add_unsigned_int(meta, "intel_pmu:time_running", efd->val[2]); + return meta; } @@ -329,15 +330,12 @@ static void pmu_dispatch_data(void) { all_value += value; /* get meta data with information about scaling */ - meta_data_t *meta = pmu_event_get_meta(e, i); + meta_data_t *meta = pmu_meta_data_create(&e->efd[i]); /* dispatch per CPU value */ pmu_submit_counter(i, e->event, value, meta); - if (meta) { - meta_data_destroy(meta); - meta = NULL; - } + meta_data_destroy(meta); } if (event_enabled > 0) {