From: Kamil Wiatrowski Date: Wed, 28 Oct 2020 15:39:52 +0000 (+0000) Subject: intel_pmu 2.0 - updates in collectd.conf.pod X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F3775%2Fhead;p=thirdparty%2Fcollectd.git intel_pmu 2.0 - updates in collectd.conf.pod Change-Id: I5f0d4c289c5264933cd1a2c43dd6ca0933f94e6a Signed-off-by: Kamil Wiatrowski --- diff --git a/src/collectd.conf.in b/src/collectd.conf.in index a30346dd5..846f2ab64 100644 --- a/src/collectd.conf.in +++ b/src/collectd.conf.in @@ -828,7 +828,7 @@ # # -# EventList "/var/cache/pmu/GenuineIntel-6-2D-core.json" +# EventList "/var/cache/pmu/GenuineIntel-6-55-4-core.json" # HardwareEvents "L2_RQSTS.CODE_RD_HIT,L2_RQSTS.CODE_RD_MISS" "L2_RQSTS.ALL_CODE_RD" # Cores "[0-3]" # AggregateUncorePMUs true diff --git a/src/collectd.conf.pod b/src/collectd.conf.pod index a479c6a2e..7dbbb68f1 100644 --- a/src/collectd.conf.pod +++ b/src/collectd.conf.pod @@ -3881,16 +3881,22 @@ Linux perf interface. All events are reported on a per core basis. B When using intel_pmu plugin number of reading threads in collectd should be adjusted accordingly. The value should be more than a half of configured cores, so for 60 monitored cores the recommendation is to set -B > 30. +B > 30. The optimal number of B depends on volume +of metrics from read plugins, interval and number of enabled write plugins. +The above adjustments can help with performance scaling when monitoring a high +number of events on many cores. + B - EventList "/var/cache/pmu/GenuineIntel-6-2D-core.json" + EventList "/var/cache/pmu/GenuineIntel-6-55-4-core.json" HardwareEvents "L2_RQSTS.CODE_RD_HIT,L2_RQSTS.CODE_RD_MISS" "L2_RQSTS.ALL_CODE_RD" Cores "0-3" "4,6" "[12-15]" HardwareEvents "L2_RQSTS.PF_MISS" Cores "[1,2]" + HardwareEvents "INST_RETIRED.ANY" "CPU_CLK_UNHALTED.THREAD" + Cores "" AggregateUncorePMUs true @@ -3932,13 +3938,14 @@ This option can be used once for every B set. =item B B|B -This option toggles the event value reporting from all the uncore PMUs to -either dispatch as aggregated value in a single metric or dispatch as -individual values. If B is set to 'true' uncore events are -reported as single metric, even for multi PMU. The total value is obtained by -summing all counters across all the units (e.g. CHAs). If B -is set to 'false' all cloned PMUs are dispatched separately with PMU name added -to Collectd's I. +This option toggles the event value reporting from all the uncore PMUs to either +dispatch as aggregated value in a single metric or dispatch as individual +values. If B is set to 'true', uncore events from the +various PMU subsystems across uncore are reported as a single metric, usually +reported as single 'Core0' events. The total value is obtained by summing all +counters across all the units (e.g. CHAs). If B is set to +'false', values from the individual PMU subsystems across uncore are dispatched +separately with PMU name/number added to Collectd's I. =back diff --git a/src/intel_pmu.c b/src/intel_pmu.c index 9f04f52a7..aa8c4e63d 100644 --- a/src/intel_pmu.c +++ b/src/intel_pmu.c @@ -718,7 +718,10 @@ static int pmu_init(void) { } /* parse events names from JSON file */ - ret = read_events(g_ctx.event_list_fn); + if (g_ctx.event_list_fn[0] == '\0') + ret = read_events(NULL); // Let jevents choose default file + else + ret = read_events(g_ctx.event_list_fn); if (ret != 0) { ERROR(PMU_PLUGIN ": Failed to read event list file '%s'.", g_ctx.event_list_fn);