Framework: Telemetry retake
[csit.git] / resources / templates / telemetry / vpp_runtime.yaml
1 ---
2 logging:
3   version: 1
4   formatters:
5     console:
6       format: '%(asctime)s - %(name)s - %(message)s'
7     prom:
8       format: '%(message)s'
9   handlers:
10     console:
11       class: logging.StreamHandler
12       level: INFO
13       formatter: console
14       stream: ext://sys.stdout
15     prom:
16       class: logging.handlers.RotatingFileHandler
17       level: INFO
18       formatter: prom
19       filename: /tmp/metric.prom
20       mode: w
21   loggers:
22     prom:
23       handlers: [prom]
24       level: INFO
25       propagate: False
26   root:
27     level: INFO
28     handlers: [console]
29 scheduler:
30   duration: 1
31 programs:
32   - name: bundle_vpp
33     metrics:
34       info:
35         - name: version
36           documentation: VPP version
37           namespace: vpp
38           subsystem: version
39           labelnames:
40             - version
41     code: |
42       show version
43   - name: bundle_vpp
44     metrics:
45       gauge:
46         - name: calls
47           documentation: Number of calls total
48           namespace: vpp
49           subsystem: runtime
50           labelnames:
51             - name
52             - state
53             - thread_name
54             - thread_id
55             - thread_lcore
56         - name: vectors
57           documentation: Number of vectors total
58           namespace: vpp
59           subsystem: runtime
60           labelnames:
61             - name
62             - state
63             - thread_name
64             - thread_id
65             - thread_lcore
66         - name: suspends
67           documentation: Number of suspends total
68           namespace: vpp
69           subsystem: runtime
70           labelnames:
71             - name
72             - state
73             - thread_name
74             - thread_id
75             - thread_lcore
76         - name: clocks
77           documentation: Number of clocks total
78           namespace: vpp
79           subsystem: runtime
80           labelnames:
81             - name
82             - state
83             - thread_name
84             - thread_id
85             - thread_lcore
86         - name: vectors_calls
87           documentation: Number of vectors per call
88           namespace: vpp
89           subsystem: runtime
90           labelnames:
91             - name
92             - state
93             - thread_name
94             - thread_id
95             - thread_lcore
96     code: |
97       clear runtime
98       wait {duration}
99       show runtime
100   - name: bundle_vpp
101     metrics:
102       gauge:
103         - name: rx_packets
104           documentation: Number of received packets for interface
105           namespace: vpp
106           subsystem: interface
107           labelnames:
108             - name
109             - index
110         - name: rx_bytes
111           documentation: Number of received bytes for interface
112           namespace: vpp
113           subsystem: interface
114           labelnames:
115             - name
116             - index
117         - name: rx_error
118           documentation: Number of errors on interface
119           namespace: vpp
120           subsystem: interface
121           labelnames:
122             - name
123             - index
124         - name: tx_packets
125           documentation: Number of transitted packets for interface
126           namespace: vpp
127           subsystem: interface
128           labelnames:
129             - name
130             - index
131         - name: tx_bytes
132           documentation: Number of transitted bytes for interface
133           namespace: vpp
134           subsystem: interface
135           labelnames:
136             - name
137             - index
138         - name: tx_error
139           documentation: Number of errors on interface
140           namespace: vpp
141           subsystem: interface
142           labelnames:
143             - name
144             - index
145         - name: drops
146           documentation: Number of dropped packets for interface
147           namespace: vpp
148           subsystem: interface
149           labelnames:
150             - name
151             - index
152         - name: punt
153           documentation: Number of punted packets for interface
154           namespace: vpp
155           subsystem: interface
156           labelnames:
157             - name
158             - index
159         - name: ip4
160           documentation: Number of IPv4 packets for interface
161           namespace: vpp
162           subsystem: interface
163           labelnames:
164             - name
165             - index
166         - name: ip6
167           documentation: Number of IPv6 packets for interface
168           namespace: vpp
169           subsystem: interface
170           labelnames:
171             - name
172             - index
173         - name: rx_no_buf
174           documentation: Number of out of buffer RX packets on interface
175           namespace: vpp
176           subsystem: interface
177           labelnames:
178             - name
179             - index
180         - name: rx_miss
181           documentation: Number of missed RX packets on interface
182           namespace: vpp
183           subsystem: interface
184           labelnames:
185             - name
186             - index
187     code: |
188       clear interfaces
189       wait {duration}
190       show interface
191   - name: bundle_vpp
192     metrics:
193       gauge:
194         - name: node_counter
195           documentation: Node counter
196           namespace: vpp
197           subsystem: counters
198           labelnames:
199             - name
200             - reason
201             - severity
202             - thread_name
203             - thread_id
204     code: |
205       clear node counters
206       wait {duration}
207       show node counters verbose
208   - name: bundle_vpp
209     metrics:
210       gauge:
211         - name: context_switches
212           documentation: Per-thread context switches
213           namespace: vpp
214           subsystem: context_switches
215           labelnames:
216             - name
217             - id
218     code: |
219       perfmon reset
220       perfmon start bundle context-switches
221       wait {duration}
222       perfmon stop
223       show perfmon statistics
224   - name: bundle_vpp
225     metrics:
226       gauge:
227         - name: minor_page_faults
228           documentation: Per-thread page faults (minor)
229           namespace: vpp
230           subsystem: page_faults
231           labelnames:
232             - name
233             - id
234         - name: major_page_faults
235           documentation: Per-thread page faults (major)
236           namespace: vpp
237           subsystem: page_faults
238           labelnames:
239             - name
240             - id
241     code: |
242       perfmon reset
243       perfmon start bundle page-faults
244       wait {duration}
245       perfmon stop
246       show perfmon statistics
247   - name: bundle_vpp
248     metrics:
249       gauge:
250         - name: calls
251           documentation: Instructions/packet, cycles/packet and IPC (calls)
252           namespace: vpp
253           subsystem: inst_and_clock
254           labelnames:
255             - name
256             - thread_name
257             - thread_id
258         - name: packets
259           documentation: Instructions/packet, cycles/packet and IPC (packets)
260           namespace: vpp
261           subsystem: inst_and_clock
262           labelnames:
263             - name
264             - thread_name
265             - thread_id
266         - name: packets_per_call
267           documentation: Instructions/packet, cycles/packet and IPC (packets/call)
268           namespace: vpp
269           subsystem: inst_and_clock
270           labelnames:
271             - name
272             - thread_name
273             - thread_id
274         - name: clocks_per_packets
275           documentation: Instructions/packet, cycles/packet and IPC (clocks/packets)
276           namespace: vpp
277           subsystem: inst_and_clock
278           labelnames:
279             - name
280             - thread_name
281             - thread_id
282         - name: instructions_per_packets
283           documentation: Instructions/packet, cycles/packet and IPC (clocks/packets)
284           namespace: vpp
285           subsystem: inst_and_clock
286           labelnames:
287             - name
288             - thread_name
289             - thread_id
290         - name: ipc
291           documentation: Instructions/packet, cycles/packet and IPC (clocks/packets)
292           namespace: vpp
293           subsystem: inst_and_clock
294           labelnames:
295             - name
296             - thread_name
297             - thread_id
298     code: |
299       perfmon reset
300       perfmon start bundle inst-and-clock
301       wait {duration}
302       perfmon stop
303       show perfmon statistics
304   - name: bundle_vpp
305     metrics:
306       gauge:
307         - name: l1_hit
308           documentation:  Cache hits and misses (L1 hit)
309           namespace: vpp
310           subsystem: cache_hierarchy
311           labelnames:
312             - name
313             - thread_name
314             - thread_id
315         - name: l1_miss
316           documentation:  Cache hits and misses (L1 miss)
317           namespace: vpp
318           subsystem: cache_hierarchy
319           labelnames:
320             - name
321             - thread_name
322             - thread_id
323         - name: l2_hit
324           documentation:  Cache hits and misses (L2 hit)
325           namespace: vpp
326           subsystem: cache_hierarchy
327           labelnames:
328             - name
329             - thread_name
330             - thread_id
331         - name: l2_miss
332           documentation:  Cache hits and misses (L2 miss)
333           namespace: vpp
334           subsystem: cache_hierarchy
335           labelnames:
336             - name
337             - thread_name
338             - thread_id
339         - name: l3_hit
340           documentation:  Cache hits and misses (L3 hit)
341           namespace: vpp
342           subsystem: cache_hierarchy
343           labelnames:
344             - name
345             - thread_name
346             - thread_id
347         - name: l3_miss
348           documentation:  Cache hits and misses (L3 miss)
349           namespace: vpp
350           subsystem: cache_hierarchy
351           labelnames:
352             - name
353             - thread_name
354             - thread_id
355     code: |
356       perfmon reset
357       perfmon start bundle cache-hierarchy
358       wait {duration}
359       perfmon stop
360       show perfmon statistics
361   - name: bundle_vpp
362     metrics:
363       gauge:
364         - name: calls
365           documentation: Load operations (calls)
366           namespace: vpp
367           subsystem: load_blocks
368           labelnames:
369             - name
370             - thread_name
371             - thread_id
372         - name: packets
373           documentation: Load operations (packets)
374           namespace: vpp
375           subsystem: load_blocks
376           labelnames:
377             - name
378             - thread_name
379             - thread_id
380     code: |
381       perfmon reset
382       perfmon start bundle load-blocks
383       wait {duration}
384       perfmon stop
385       show perfmon statistics
386   - name: bundle_vpp
387     metrics:
388       gauge:
389         - name: branches_per_call
390           documentation: Branches/call
391           namespace: vpp
392           subsystem: branch_mispred
393           labelnames:
394             - name
395             - thread_name
396             - thread_id
397         - name: branches_per_packet
398           documentation: Branches/packet
399           namespace: vpp
400           subsystem: branch_mispred
401           labelnames:
402             - name
403             - thread_name
404             - thread_id
405         - name: taken_per_call
406           documentation: Taken/call
407           namespace: vpp
408           subsystem: branch_mispred
409           labelnames:
410             - name
411             - thread_name
412             - thread_id
413         - name: taken_per_packet
414           documentation: Taken/packet
415           namespace: vpp
416           subsystem: branch_mispred
417           labelnames:
418             - name
419             - thread_name
420             - thread_id
421         - name: mis_predictions
422           documentation: Mis-predictions
423           namespace: vpp
424           subsystem: branch_mispred
425           labelnames:
426             - name
427             - thread_name
428             - thread_id
429     code: |
430       perfmon reset
431       perfmon start bundle branch-mispred
432       wait {duration}
433       perfmon stop
434       show perfmon statistics
435   - name: bundle_vpp
436     metrics:
437       gauge:
438         - name: lvl0
439           documentation: Branches/call
440           namespace: vpp
441           subsystem: power_licensing
442           labelnames:
443             - name
444             - thread_name
445             - thread_id
446         - name: lvl1
447           documentation: Branches/packet
448           namespace: vpp
449           subsystem: power_licensing
450           labelnames:
451             - name
452             - thread_name
453             - thread_id
454         - name: lvl2
455           documentation: Taken/call
456           namespace: vpp
457           subsystem: power_licensing
458           labelnames:
459             - name
460             - thread_name
461             - thread_id
462         - name: throttle
463           documentation: Taken/packet
464           namespace: vpp
465           subsystem: power_licensing
466           labelnames:
467             - name
468             - thread_name
469             - thread_id
470     code: |
471       perfmon reset
472       perfmon start bundle power-licensing
473       wait {duration}
474       perfmon stop
475       show perfmon statistics
476   - name: bundle_vpp
477     metrics:
478       gauge:
479         - name: runtime
480           documentation: RunTime
481           namespace: vpp
482           subsystem: memory_bandwidth
483           labelnames:
484             - name
485         - name: reads_mbs
486           documentation: Reads (MB/s)
487           namespace: vpp
488           subsystem: memory_bandwidth
489           labelnames:
490             - name
491         - name: writes_mbs
492           documentation: Writes (MB/s)
493           namespace: vpp
494           subsystem: memory_bandwidth
495           labelnames:
496             - name
497         - name: total_mbs
498           documentation: Total (MB/s)
499           namespace: vpp
500           subsystem: memory_bandwidth
501           labelnames:
502             - name
503     code: |
504       perfmon reset
505       perfmon start bundle memory-bandwidth
506       wait {duration}
507       perfmon stop
508       show perfmon statistics