a0309a3fb5d13df77b3691a6b0cfc0ea3ed595fc
[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: mpls
174           documentation: Number of MPLS packets for interface
175           namespace: vpp
176           subsystem: interface
177           labelnames:
178             - name
179             - index
180         - name: rx_no_buf
181           documentation: Number of out of buffer RX packets on interface
182           namespace: vpp
183           subsystem: interface
184           labelnames:
185             - name
186             - index
187         - name: rx_miss
188           documentation: Number of missed RX packets on interface
189           namespace: vpp
190           subsystem: interface
191           labelnames:
192             - name
193             - index
194     code: |
195       clear interfaces
196       wait {duration}
197       show interface
198   - name: bundle_vpp
199     metrics:
200       gauge:
201         - name: node_counter
202           documentation: Node counter
203           namespace: vpp
204           subsystem: counters
205           labelnames:
206             - name
207             - reason
208             - severity
209             - thread_name
210             - thread_id
211     code: |
212       clear node counters
213       wait {duration}
214       show node counters verbose
215   - name: bundle_vpp
216     metrics:
217       gauge:
218         - name: context_switches
219           documentation: Per-thread context switches
220           namespace: vpp
221           subsystem: context_switches
222           labelnames:
223             - name
224             - id
225     code: |
226       perfmon reset
227       perfmon start bundle context-switches
228       wait {duration}
229       perfmon stop
230       show perfmon statistics
231   - name: bundle_vpp
232     metrics:
233       gauge:
234         - name: minor_page_faults
235           documentation: Per-thread page faults (minor)
236           namespace: vpp
237           subsystem: page_faults
238           labelnames:
239             - name
240             - id
241         - name: major_page_faults
242           documentation: Per-thread page faults (major)
243           namespace: vpp
244           subsystem: page_faults
245           labelnames:
246             - name
247             - id
248     code: |
249       perfmon reset
250       perfmon start bundle page-faults
251       wait {duration}
252       perfmon stop
253       show perfmon statistics
254   - name: bundle_vpp
255     metrics:
256       gauge:
257         - name: calls
258           documentation: Instructions/packet, cycles/packet and IPC (calls)
259           namespace: vpp
260           subsystem: inst_and_clock
261           labelnames:
262             - name
263             - thread_name
264             - thread_id
265         - name: packets
266           documentation: Instructions/packet, cycles/packet and IPC (packets)
267           namespace: vpp
268           subsystem: inst_and_clock
269           labelnames:
270             - name
271             - thread_name
272             - thread_id
273         - name: packets_per_call
274           documentation: Instructions/packet, cycles/packet and IPC (packets/call)
275           namespace: vpp
276           subsystem: inst_and_clock
277           labelnames:
278             - name
279             - thread_name
280             - thread_id
281         - name: clocks_per_packets
282           documentation: Instructions/packet, cycles/packet and IPC (clocks/packets)
283           namespace: vpp
284           subsystem: inst_and_clock
285           labelnames:
286             - name
287             - thread_name
288             - thread_id
289         - name: instructions_per_packets
290           documentation: Instructions/packet, cycles/packet and IPC (clocks/packets)
291           namespace: vpp
292           subsystem: inst_and_clock
293           labelnames:
294             - name
295             - thread_name
296             - thread_id
297         - name: ipc
298           documentation: Instructions/packet, cycles/packet and IPC (clocks/packets)
299           namespace: vpp
300           subsystem: inst_and_clock
301           labelnames:
302             - name
303             - thread_name
304             - thread_id
305     code: |
306       perfmon reset
307       perfmon start bundle inst-and-clock
308       wait {duration}
309       perfmon stop
310       show perfmon statistics
311   - name: bundle_vpp
312     metrics:
313       gauge:
314         - name: l1_hit
315           documentation:  Cache hits and misses (L1 hit)
316           namespace: vpp
317           subsystem: cache_hierarchy
318           labelnames:
319             - name
320             - thread_name
321             - thread_id
322         - name: l1_miss
323           documentation:  Cache hits and misses (L1 miss)
324           namespace: vpp
325           subsystem: cache_hierarchy
326           labelnames:
327             - name
328             - thread_name
329             - thread_id
330         - name: l2_hit
331           documentation:  Cache hits and misses (L2 hit)
332           namespace: vpp
333           subsystem: cache_hierarchy
334           labelnames:
335             - name
336             - thread_name
337             - thread_id
338         - name: l2_miss
339           documentation:  Cache hits and misses (L2 miss)
340           namespace: vpp
341           subsystem: cache_hierarchy
342           labelnames:
343             - name
344             - thread_name
345             - thread_id
346         - name: l3_hit
347           documentation:  Cache hits and misses (L3 hit)
348           namespace: vpp
349           subsystem: cache_hierarchy
350           labelnames:
351             - name
352             - thread_name
353             - thread_id
354         - name: l3_miss
355           documentation:  Cache hits and misses (L3 miss)
356           namespace: vpp
357           subsystem: cache_hierarchy
358           labelnames:
359             - name
360             - thread_name
361             - thread_id
362     code: |
363       perfmon reset
364       perfmon start bundle cache-hierarchy
365       wait {duration}
366       perfmon stop
367       show perfmon statistics
368   - name: bundle_vpp
369     metrics:
370       gauge:
371         - name: calls
372           documentation: Load operations (calls)
373           namespace: vpp
374           subsystem: load_blocks
375           labelnames:
376             - name
377             - thread_name
378             - thread_id
379         - name: packets
380           documentation: Load operations (packets)
381           namespace: vpp
382           subsystem: load_blocks
383           labelnames:
384             - name
385             - thread_name
386             - thread_id
387     code: |
388       perfmon reset
389       perfmon start bundle load-blocks
390       wait {duration}
391       perfmon stop
392       show perfmon statistics
393   - name: bundle_vpp
394     metrics:
395       gauge:
396         - name: branches_per_call
397           documentation: Branches/call
398           namespace: vpp
399           subsystem: branch_mispred
400           labelnames:
401             - name
402             - thread_name
403             - thread_id
404         - name: branches_per_packet
405           documentation: Branches/packet
406           namespace: vpp
407           subsystem: branch_mispred
408           labelnames:
409             - name
410             - thread_name
411             - thread_id
412         - name: taken_per_call
413           documentation: Taken/call
414           namespace: vpp
415           subsystem: branch_mispred
416           labelnames:
417             - name
418             - thread_name
419             - thread_id
420         - name: taken_per_packet
421           documentation: Taken/packet
422           namespace: vpp
423           subsystem: branch_mispred
424           labelnames:
425             - name
426             - thread_name
427             - thread_id
428         - name: mis_predictions
429           documentation: Mis-predictions
430           namespace: vpp
431           subsystem: branch_mispred
432           labelnames:
433             - name
434             - thread_name
435             - thread_id
436     code: |
437       perfmon reset
438       perfmon start bundle branch-mispred
439       wait {duration}
440       perfmon stop
441       show perfmon statistics
442   - name: bundle_vpp
443     metrics:
444       gauge:
445         - name: lvl0
446           documentation: Branches/call
447           namespace: vpp
448           subsystem: power_licensing
449           labelnames:
450             - name
451             - thread_name
452             - thread_id
453         - name: lvl1
454           documentation: Branches/packet
455           namespace: vpp
456           subsystem: power_licensing
457           labelnames:
458             - name
459             - thread_name
460             - thread_id
461         - name: lvl2
462           documentation: Taken/call
463           namespace: vpp
464           subsystem: power_licensing
465           labelnames:
466             - name
467             - thread_name
468             - thread_id
469         - name: throttle
470           documentation: Taken/packet
471           namespace: vpp
472           subsystem: power_licensing
473           labelnames:
474             - name
475             - thread_name
476             - thread_id
477     code: |
478       perfmon reset
479       perfmon start bundle power-licensing
480       wait {duration}
481       perfmon stop
482       show perfmon statistics
483   - name: bundle_vpp
484     metrics:
485       gauge:
486         - name: runtime
487           documentation: RunTime
488           namespace: vpp
489           subsystem: memory_bandwidth
490           labelnames:
491             - name
492         - name: reads_mbs
493           documentation: Reads (MB/s)
494           namespace: vpp
495           subsystem: memory_bandwidth
496           labelnames:
497             - name
498         - name: writes_mbs
499           documentation: Writes (MB/s)
500           namespace: vpp
501           subsystem: memory_bandwidth
502           labelnames:
503             - name
504         - name: total_mbs
505           documentation: Total (MB/s)
506           namespace: vpp
507           subsystem: memory_bandwidth
508           labelnames:
509             - name
510     code: |
511       perfmon reset
512       perfmon start bundle memory-bandwidth
513       wait {duration}
514       perfmon stop
515       show perfmon statistics