aboutsummaryrefslogtreecommitdiffstats
path: root/resources/templates/telemetry/vppctl_runtime.yaml
blob: 2ac72c0b8a219d62165115451f93dd00d7a52ac1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
---
logging:
  version: 1
  formatters:
    console_stdout:
      format: '%(asctime)s - %(name)s - %(message)s'
    console_stderr:
      format: '%(message)s'
    prom:
      format: '%(message)s'
  handlers:
    console_stdout:
      class: logging.StreamHandler
      level: INFO
      formatter: console_stdout
      stream: ext://sys.stdout
    console_stderr:
      class: logging.StreamHandler
      level: ERROR
      formatter: console_stderr
      stream: ext://sys.stderr
    prom:
      class: logging.handlers.RotatingFileHandler
      level: INFO
      formatter: prom
      filename: /tmp/metric.prom
      mode: w
  loggers:
    prom:
      handlers: [prom]
      level: INFO
      propagate: False
  root:
    level: INFO
    handlers: [console_stdout, console_stderr]
scheduler:
  duration: 1
programs:
  - name: bundle_vppctl
    metrics:
      gauge:
        - name: calls
          documentation: Number of calls total
          namespace: vpp
          subsystem: runtime
          labelnames:
            - node_name
            - state
            - thread_name
            - thread_id
            - thread_lcore
        - name: vectors
          documentation: Number of vectors total
          namespace: vpp
          subsystem: runtime
          labelnames:
            - node_name
            - state
            - thread_name
            - thread_id
            - thread_lcore
        - name: suspends
          documentation: Number of suspends total
          namespace: vpp
          subsystem: runtime
          labelnames:
            - node_name
            - state
            - thread_name
            - thread_id
            - thread_lcore
        - name: clocks
          documentation: Number of clocks total
          namespace: vpp
          subsystem: runtime
          labelnames:
            - node_name
            - state
            - thread_name
            - thread_id
            - thread_lcore
        - name: vectors_calls
          documentation: Number of vectors per call
          namespace: vpp
          subsystem: runtime
          labelnames:
            - node_name
            - state
            - thread_name
            - thread_id
            - thread_lcore
    code: |
      vppctl -s {socket} clear runtime
      sleep {duration}
      vppctl -s {socket} show runtime
  - name: bundle_vppctl
    metrics:
      gauge:
        - name: calls
          documentation: Instructions/packet, cycles/packet and IPC (calls)
          namespace: vpp
          subsystem: inst_and_clock
          labelnames:
            - node_name
            - thread_name
            - thread_id
        - name: packets
          documentation: Instructions/packet, cycles/packet and IPC (packets)
          namespace: vpp
          subsystem: inst_and_clock
          labelnames:
            - node_name
            - thread_name
            - thread_id
        - name: packets_per_call
          documentation: Instructions/packet, cycles/packet and IPC (packets/call)
          namespace: vpp
          subsystem: inst_and_clock
          labelnames:
            - node_name
            - thread_name
            - thread_id
        - name: clocks_per_packets
          documentation: Instructions/packet, cycles/packet and IPC (clocks/packets)
          namespace: vpp
          subsystem: inst_and_clock
          labelnames:
            - node_name
            - thread_name
            - thread_id
        - name: instructions_per_packets
          documentation: Instructions/packet, cycles/packet and IPC (clocks/packets)
          namespace: vpp
          subsystem: inst_and_clock
          labelnames:
            - node_name
            - thread_name
            - thread_id
        - name: ipc
          documentation: Instructions/packet, cycles/packet and IPC (clocks/packets)
          namespace: vpp
          subsystem: inst_and_clock
          labelnames:
            - node_name
            - thread_name
            - thread_id
    code: |
      vppctl -s {socket} perfmon reset
      vppctl -s {socket} perfmon start bundle inst-and-clock
      sleep {duration}
      vppctl -s {socket} perfmon stop
      vppctl -s {socket} show perfmon statistics
  - name: bundle_vppctl
    metrics:
      gauge:
        - name: l1_hit
          documentation:  Cache hits and misses (L1 hit)
          namespace: vpp
          subsystem: cache_hierarchy
          labelnames:
            - node_name
            - thread_name
            - thread_id
        - name: l1_miss
          documentation:  Cache hits and misses (L1 miss)
          namespace: vpp
          subsystem: cache_hierarchy
          labelnames:
            - node_name
            - thread_name
            - thread_id
        - name: l2_hit
          documentation:  Cache hits and misses (L2 hit)
          namespace: vpp
          subsystem: cache_hierarchy
          labelnames:
            - node_name
            - thread_name
            - thread_id
        - name: l2_miss
          documentation:  Cache hits and misses (L2 miss)
          namespace: vpp
          subsystem: cache_hierarchy
          labelnames:
            - node_name
            - thread_name
            - thread_id
        - name: l3_hit
          documentation:  Cache hits and misses (L3 hit)
          namespace: vpp
          subsystem: cache_hierarchy
          labelnames:
            - node_name
            - thread_name
            - thread_id
        - name: l3_miss
          documentation:  Cache hits and misses (L3 miss)
          namespace: vpp
          subsystem: cache_hierarchy
          labelnames:
            - node_name
            - thread_name
            - thread_id
    code: |
      vppctl -s {socket} perfmon reset
      vppctl -s {socket} perfmon start bundle cache-hierarchy
      sleep {duration}
      vppctl -s {socket} perfmon stop
      vppctl -s {socket} show perfmon statistics