metadata.yaml 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. plugin_name: perf.plugin
  2. modules:
  3. - meta:
  4. plugin_name: perf.plugin
  5. module_name: perf.plugin
  6. monitored_instance:
  7. name: CPU performance
  8. link: "https://kernel.org/"
  9. categories:
  10. - data-collection.linux-systems
  11. icon_filename: "bolt.svg"
  12. related_resources:
  13. integrations:
  14. list: []
  15. info_provided_to_referring_integrations:
  16. description: ""
  17. keywords:
  18. - linux
  19. - cpu performance
  20. - cpu cache
  21. - perf.plugin
  22. most_popular: false
  23. overview:
  24. data_collection:
  25. metrics_description: "This collector monitors CPU performance metrics about cycles, instructions, migrations, cache operations and more."
  26. method_description: "It uses syscall (2) to open a file descriptior to monitor the perf events."
  27. supported_platforms:
  28. include:
  29. - Linux
  30. exclude: []
  31. multi_instance: true
  32. additional_permissions:
  33. description: "It needs setuid to use necessary syscall to collect perf events. Netada sets the permission during installation time."
  34. default_behavior:
  35. auto_detection:
  36. description: ""
  37. limits:
  38. description: ""
  39. performance_impact:
  40. description: ""
  41. setup:
  42. prerequisites:
  43. list:
  44. - title: Install perf plugin
  45. description: |
  46. 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.
  47. - title: Enable the pref plugin
  48. description: |
  49. 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.
  50. 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.
  51. ```bash
  52. cd /etc/netdata # Replace this path with your Netdata config directory, if different
  53. sudo ./edit-config netdata.conf
  54. ```
  55. 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.
  56. configuration:
  57. file:
  58. name: "netdata.conf"
  59. section_name: "[plugin:perf]"
  60. description: "The main netdata configuration file."
  61. options:
  62. description: |
  63. You can get the available options running:
  64. ```bash
  65. /usr/libexec/netdata/plugins.d/perf.plugin --help
  66. ````
  67. folding:
  68. title: "Config options"
  69. enabled: true
  70. list:
  71. - name: update every
  72. description: Data collection frequency.
  73. default_value: 1
  74. required: false
  75. - name: command options
  76. 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`.
  77. default_value: 1
  78. required: true
  79. examples:
  80. folding:
  81. enabled: true
  82. title: "Config"
  83. list:
  84. - name: All metrics
  85. folding:
  86. enabled: false
  87. description: Monitor all metrics available.
  88. config: |
  89. [plugin:perf]
  90. command options = all
  91. - name: CPU cycles
  92. description: Monitor CPU cycles.
  93. config: |
  94. [plugin:perf]
  95. command options = cycles
  96. troubleshooting:
  97. problems:
  98. list:
  99. - name: Debug Mode
  100. description: |
  101. 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.
  102. - 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]`.
  103. ```bash
  104. cd /usr/libexec/netdata/plugins.d/
  105. ```
  106. - Switch to the `netdata` user.
  107. ```bash
  108. sudo -u netdata -s
  109. ```
  110. - Run the `perf.plugin` in debug mode:
  111. ```bash
  112. ./perf.plugin 1 all debug
  113. ```
  114. alerts: []
  115. metrics:
  116. folding:
  117. title: Metrics
  118. enabled: false
  119. description: ""
  120. availability: []
  121. scopes:
  122. - name: global
  123. description: "These metrics refer to the entire monitored application."
  124. labels: []
  125. metrics:
  126. - name: perf.cpu_cycles
  127. description: CPU cycles
  128. unit: "cycles/s"
  129. chart_type: line
  130. dimensions:
  131. - name: cpu
  132. - name: ref_cpu
  133. - name: perf.instructions
  134. description: Instructions
  135. unit: "instructions/s"
  136. chart_type: line
  137. dimensions:
  138. - name: instructions
  139. - name: perf.instructions_per_cycle
  140. description: Instructions per Cycle(IPC)
  141. unit: "instructions/cycle"
  142. chart_type: line
  143. dimensions:
  144. - name: ipc
  145. - name: perf.branch_instructions
  146. description: Branch instructions
  147. unit: "instructions/s"
  148. chart_type: line
  149. dimensions:
  150. - name: instructions
  151. - name: misses
  152. - name: perf.cache
  153. description: Cache operations
  154. unit: "operations/s"
  155. chart_type: line
  156. dimensions:
  157. - name: references
  158. - name: misses
  159. - name: perf.bus_cycles
  160. description: Bus cycles
  161. unit: "cycles/s"
  162. chart_type: line
  163. dimensions:
  164. - name: bus
  165. - name: perf.stalled_cycles
  166. description: Stalled frontend and backend cycles
  167. unit: "cycles/s"
  168. chart_type: line
  169. dimensions:
  170. - name: frontend
  171. - name: backend
  172. - name: perf.migrations
  173. description: CPU migrations
  174. unit: "migrations"
  175. chart_type: line
  176. dimensions:
  177. - name: migrations
  178. - name: perf.alignment_faults
  179. description: Alignment faults
  180. unit: "faults"
  181. chart_type: line
  182. dimensions:
  183. - name: faults
  184. - name: perf.emulation_faults
  185. description: Emulation faults
  186. unit: "faults"
  187. chart_type: line
  188. dimensions:
  189. - name: faults
  190. - name: perf.l1d_cache
  191. description: L1D cache operations
  192. unit: "events/s"
  193. chart_type: line
  194. dimensions:
  195. - name: read_access
  196. - name: read_misses
  197. - name: write_access
  198. - name: write_misses
  199. - name: perf.l1d_cache_prefetch
  200. description: L1D prefetch cache operations
  201. unit: "prefetches/s"
  202. chart_type: line
  203. dimensions:
  204. - name: prefetches
  205. - name: perf.l1i_cache
  206. description: L1I cache operations
  207. unit: "events/s"
  208. chart_type: line
  209. dimensions:
  210. - name: read_access
  211. - name: read_misses
  212. - name: perf.ll_cache
  213. description: LL cache operations
  214. unit: "events/s"
  215. chart_type: line
  216. dimensions:
  217. - name: read_access
  218. - name: read_misses
  219. - name: write_access
  220. - name: write_misses
  221. - name: perf.dtlb_cache
  222. description: DTLB cache operations
  223. unit: "events/s"
  224. chart_type: line
  225. dimensions:
  226. - name: read_access
  227. - name: read_misses
  228. - name: write_access
  229. - name: write_misses
  230. - name: perf.itlb_cache
  231. description: ITLB cache operations
  232. unit: "events/s"
  233. chart_type: line
  234. dimensions:
  235. - name: read_access
  236. - name: read_misses
  237. - name: perf.pbu_cache
  238. description: PBU cache operations
  239. unit: "events/s"
  240. chart_type: line
  241. dimensions:
  242. - name: read_access