diff options
Diffstat (limited to '')
-rw-r--r-- | collectors/perf.plugin/metadata.yaml | 252 |
1 files changed, 252 insertions, 0 deletions
diff --git a/collectors/perf.plugin/metadata.yaml b/collectors/perf.plugin/metadata.yaml new file mode 100644 index 00000000..eada3351 --- /dev/null +++ b/collectors/perf.plugin/metadata.yaml @@ -0,0 +1,252 @@ +plugin_name: perf.plugin +modules: + - meta: + plugin_name: perf.plugin + module_name: perf.plugin + monitored_instance: + name: CPU performance + link: "https://kernel.org/" + categories: + - data-collection.linux-systems + icon_filename: "bolt.svg" + related_resources: + integrations: + list: [] + info_provided_to_referring_integrations: + description: "" + keywords: + - linux + - cpu performance + - cpu cache + - perf.plugin + most_popular: false + overview: + data_collection: + metrics_description: "This collector monitors CPU performance metrics about cycles, instructions, migrations, cache operations and more." + method_description: "It uses syscall (2) to open a file descriptior to monitor the perf events." + supported_platforms: + include: + - Linux + exclude: [] + multi_instance: true + additional_permissions: + description: "It needs setuid to use necessary syscall to collect perf events. Netada sets the permission during installation time." + default_behavior: + auto_detection: + description: "" + limits: + description: "" + performance_impact: + description: "" + setup: + prerequisites: + list: + - title: Install perf plugin + description: | + If you are [using our official native DEB/RPM packages](https://github.com/netdata/netdata/blob/master/packaging/installer/UPDATE.md#determine-which-installation-method-you-used), make sure the `netdata-plugin-perf` package is installed. + - title: Enable the pref plugin + description: | + The plugin is disabled by default because the number of PMUs is usually quite limited and it is not desired to allow Netdata to struggle silently for PMUs, interfering with other performance monitoring software. + + To enable it, use `edit-config` from the Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md), which is typically at `/etc/netdata`, to edit the `netdata.conf` file. + + ```bash + cd /etc/netdata # Replace this path with your Netdata config directory, if different + sudo ./edit-config netdata.conf + ``` + + Change the value of the `perf` setting to `yes` in the `[plugins]` section. Save the file and restart the Netdata Agent with `sudo systemctl restart netdata`, or the [appropriate method](https://github.com/netdata/netdata/blob/master/docs/configure/start-stop-restart.md) for your system. + configuration: + file: + name: "netdata.conf" + section_name: "[plugin:perf]" + description: "The main netdata configuration file." + options: + description: | + You can get the available options running: + + ```bash + /usr/libexec/netdata/plugins.d/perf.plugin --help + ```` + folding: + title: "Config options" + enabled: true + list: + - name: update every + description: Data collection frequency. + default_value: 1 + required: false + - name: command options + description: Command options that specify charts shown by plugin. `cycles`, `instructions`, `branch`, `cache`, `bus`, `stalled`, `migrations`, `alignment`, `emulation`, `L1D`, `L1D-prefetch`, `L1I`, `LL`, `DTLB`, `ITLB`, `PBU`. + default_value: 1 + required: true + examples: + folding: + enabled: true + title: "Config" + list: + - name: All metrics + folding: + enabled: false + description: Monitor all metrics available. + config: | + [plugin:perf] + command options = all + - name: CPU cycles + description: Monitor CPU cycles. + config: | + [plugin:perf] + command options = cycles + troubleshooting: + problems: + list: + - name: Debug Mode + description: | + You can run `perf.plugin` with the debug option enabled, to troubleshoot issues with it. The output should give you clues as to why the collector isn't working. + + - Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + + - Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + + - Run the `perf.plugin` in debug mode: + + ```bash + ./perf.plugin 1 all debug + ``` + alerts: [] + metrics: + folding: + title: Metrics + enabled: false + description: "" + availability: [] + scopes: + - name: global + description: "These metrics refer to the entire monitored application." + labels: [] + metrics: + - name: perf.cpu_cycles + description: CPU cycles + unit: "cycles/s" + chart_type: line + dimensions: + - name: cpu + - name: ref_cpu + - name: perf.instructions + description: Instructions + unit: "instructions/s" + chart_type: line + dimensions: + - name: instructions + - name: perf.instructions_per_cycle + description: Instructions per Cycle(IPC) + unit: "instructions/cycle" + chart_type: line + dimensions: + - name: ipc + - name: perf.branch_instructions + description: Branch instructions + unit: "instructions/s" + chart_type: line + dimensions: + - name: instructions + - name: misses + - name: perf.cache + description: Cache operations + unit: "operations/s" + chart_type: line + dimensions: + - name: references + - name: misses + - name: perf.bus_cycles + description: Bus cycles + unit: "cycles/s" + chart_type: line + dimensions: + - name: bus + - name: perf.stalled_cycles + description: Stalled frontend and backend cycles + unit: "cycles/s" + chart_type: line + dimensions: + - name: frontend + - name: backend + - name: perf.migrations + description: CPU migrations + unit: "migrations" + chart_type: line + dimensions: + - name: migrations + - name: perf.alignment_faults + description: Alignment faults + unit: "faults" + chart_type: line + dimensions: + - name: faults + - name: perf.emulation_faults + description: Emulation faults + unit: "faults" + chart_type: line + dimensions: + - name: faults + - name: perf.l1d_cache + description: L1D cache operations + unit: "events/s" + chart_type: line + dimensions: + - name: read_access + - name: read_misses + - name: write_access + - name: write_misses + - name: perf.l1d_cache_prefetch + description: L1D prefetch cache operations + unit: "prefetches/s" + chart_type: line + dimensions: + - name: prefetches + - name: perf.l1i_cache + description: L1I cache operations + unit: "events/s" + chart_type: line + dimensions: + - name: read_access + - name: read_misses + - name: perf.ll_cache + description: LL cache operations + unit: "events/s" + chart_type: line + dimensions: + - name: read_access + - name: read_misses + - name: write_access + - name: write_misses + - name: perf.dtlb_cache + description: DTLB cache operations + unit: "events/s" + chart_type: line + dimensions: + - name: read_access + - name: read_misses + - name: write_access + - name: write_misses + - name: perf.itlb_cache + description: ITLB cache operations + unit: "events/s" + chart_type: line + dimensions: + - name: read_access + - name: read_misses + - name: perf.pbu_cache + description: PBU cache operations + unit: "events/s" + chart_type: line + dimensions: + - name: read_access |