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