diff options
Diffstat (limited to 'resources/templates/telemetry')
-rw-r--r-- | resources/templates/telemetry/bpf_runtime.yaml | 673 | ||||
-rw-r--r-- | resources/templates/telemetry/perf_stat_runtime.yaml | 134 | ||||
-rw-r--r-- | resources/templates/telemetry/vpp_clear_stats.yaml | 64 | ||||
-rw-r--r-- | resources/templates/telemetry/vpp_runtime.yaml | 347 | ||||
-rw-r--r-- | resources/templates/telemetry/vpp_show_stats.yaml | 60 | ||||
-rw-r--r-- | resources/templates/telemetry/vpp_test_teardown.yaml | 60 | ||||
-rw-r--r-- | resources/templates/telemetry/vppctl_clear_stats.yaml | 64 | ||||
-rw-r--r-- | resources/templates/telemetry/vppctl_runtime.yaml | 306 | ||||
-rw-r--r-- | resources/templates/telemetry/vppctl_show_stats.yaml | 60 | ||||
-rw-r--r-- | resources/templates/telemetry/vppctl_test_teardown.yaml | 60 |
10 files changed, 1150 insertions, 678 deletions
diff --git a/resources/templates/telemetry/bpf_runtime.yaml b/resources/templates/telemetry/bpf_runtime.yaml index bb9d1c70ae..e2e1fd52f1 100644 --- a/resources/templates/telemetry/bpf_runtime.yaml +++ b/resources/templates/telemetry/bpf_runtime.yaml @@ -35,6 +35,7 @@ logging: handlers: [console_stdout, console_stderr] scheduler: duration: 1 + sample_period: 100 programs: - name: bundle_bpf metrics: @@ -46,6 +47,41 @@ programs: - name - cpu - pid + events: + - type: 0x4 # RAW + name: 0x3C # INTEL_CORE_E_CPU_CLK_UNHALTED_THREAD_P + target: on_cpu_cycle + table: cpu_cycle + code: | + #include <linux/ptrace.h> + #include <uapi/linux/bpf_perf_event.h> + + const int max_cpus = 256; + + struct key_t { + int cpu; + int pid; + char name[TASK_COMM_LEN]; + }; + + BPF_HASH(cpu_cycle, struct key_t); + + static inline __attribute__((always_inline)) void get_key(struct key_t* key) { + key->cpu = bpf_get_smp_processor_id(); + key->pid = bpf_get_current_pid_tgid(); + bpf_get_current_comm(&(key->name), sizeof(key->name)); + } + + int on_cpu_cycle(struct bpf_perf_event_data *ctx) { + struct key_t key = {}; + get_key(&key); + + cpu_cycle.increment(key, ctx->sample_period); + return 0; + } + - name: bundle_bpf + metrics: + counter: - name: cpu_instruction documentation: Instructions retired by CPUs namespace: bpf @@ -53,15 +89,85 @@ programs: - name - cpu - pid - - name: llc_reference - documentation: Last level cache operations by type + events: + - type: 0x4 # RAW + name: 0xC0 # INTEL_CORE_E_INST_RETIRED_ANY_P + target: on_cpu_instruction + table: cpu_instruction + code: | + #include <linux/ptrace.h> + #include <uapi/linux/bpf_perf_event.h> + + const int max_cpus = 256; + + struct key_t { + int cpu; + int pid; + char name[TASK_COMM_LEN]; + }; + + BPF_HASH(cpu_instruction, struct key_t); + + static inline __attribute__((always_inline)) void get_key(struct key_t* key) { + key->cpu = bpf_get_smp_processor_id(); + key->pid = bpf_get_current_pid_tgid(); + bpf_get_current_comm(&(key->name), sizeof(key->name)); + } + + int on_cpu_instruction(struct bpf_perf_event_data *ctx) { + struct key_t key = {}; + get_key(&key); + + cpu_instruction.increment(key, ctx->sample_period); + return 0; + } + - name: bundle_bpf + metrics: + counter: + - name: cache_references + documentation: Cache references namespace: bpf labelnames: - name - cpu - pid - - name: llc_miss - documentation: Last level cache operations by type + events: + - type: 0x0 # HARDWARE + name: 0x2 # PERF_COUNT_HW_CACHE_REFERENCES + target: on_cache_reference + table: cache_references + code: | + #include <linux/ptrace.h> + #include <uapi/linux/bpf_perf_event.h> + + const int max_cpus = 256; + + struct key_t { + int cpu; + int pid; + char name[TASK_COMM_LEN]; + }; + + BPF_HASH(cache_references, struct key_t); + + static inline __attribute__((always_inline)) void get_key(struct key_t* key) { + key->cpu = bpf_get_smp_processor_id(); + key->pid = bpf_get_current_pid_tgid(); + bpf_get_current_comm(&(key->name), sizeof(key->name)); + } + + int on_cache_reference(struct bpf_perf_event_data *ctx) { + struct key_t key = {}; + get_key(&key); + + cache_references.increment(key, ctx->sample_period); + return 0; + } + - name: bundle_bpf + metrics: + counter: + - name: cache_miss + documentation: Cache misses namespace: bpf labelnames: - name @@ -69,21 +175,9 @@ programs: - pid events: - type: 0x0 # HARDWARE - name: 0x0 # PERF_COUNT_HW_CPU_CYCLES - target: on_cpu_cycle - table: cpu_cycle - - type: 0x0 # HARDWARE - name: 0x1 # PERF_COUNT_HW_INSTRUCTIONS - target: on_cpu_instruction - table: cpu_instruction - - type: 0x0 # HARDWARE - name: 0x2 # PERF_COUNT_HW_CACHE_REFERENCES - target: on_cache_reference - table: llc_reference - - type: 0x0 # HARDWARE name: 0x3 # PERF_COUNT_HW_CACHE_MISSES target: on_cache_miss - table: llc_miss + table: cache_miss code: | #include <linux/ptrace.h> #include <uapi/linux/bpf_perf_event.h> @@ -96,10 +190,7 @@ programs: char name[TASK_COMM_LEN]; }; - BPF_HASH(llc_miss, struct key_t); - BPF_HASH(llc_reference, struct key_t); - BPF_HASH(cpu_instruction, struct key_t); - BPF_HASH(cpu_cycle, struct key_t); + BPF_HASH(cache_miss, struct key_t); static inline __attribute__((always_inline)) void get_key(struct key_t* key) { key->cpu = bpf_get_smp_processor_id(); @@ -107,31 +198,555 @@ programs: bpf_get_current_comm(&(key->name), sizeof(key->name)); } - int on_cpu_cycle(struct bpf_perf_event_data *ctx) { + int on_cache_miss(struct bpf_perf_event_data *ctx) { struct key_t key = {}; get_key(&key); - cpu_cycle.increment(key, ctx->sample_period); + cache_miss.increment(key, ctx->sample_period); return 0; } - int on_cpu_instruction(struct bpf_perf_event_data *ctx) { +# - name: bundle_bpf +# metrics: +# counter: +# - name: branch_instruction +# documentation: Instructions retired by branch +# namespace: bpf +# labelnames: +# - name +# - cpu +# - pid +# events: +# - type: 0x0 # HARDWARE +# name: 0x4 # PERF_COUNT_HW_BRANCH_INSTRUCTION +# target: on_branch_instruction +# table: branch_instruction +# code: | +# #include <linux/ptrace.h> +# #include <uapi/linux/bpf_perf_event.h> +# +# const int max_cpus = 256; +# +# struct key_t { +# int cpu; +# int pid; +# char name[TASK_COMM_LEN]; +# }; +# +# BPF_HASH(branch_instruction, struct key_t); +# +# static inline __attribute__((always_inline)) void get_key(struct key_t* key) { +# key->cpu = bpf_get_smp_processor_id(); +# key->pid = bpf_get_current_pid_tgid(); +# bpf_get_current_comm(&(key->name), sizeof(key->name)); +# } +# +# int on_branch_instruction(struct bpf_perf_event_data *ctx) { +# struct key_t key = {}; +# get_key(&key); +# +# branch_instruction.increment(key, ctx->sample_period); +# return 0; +# } +# - name: bundle_bpf +# metrics: +# counter: +# - name: branch_misses (not supported by CPU) +# documentation: Last level miss operations by type +# namespace: bpf +# labelnames: +# - name +# - cpu +# - pid +# events: +# - type: 0x0 # HARDWARE +# name: 0x5 # PERF_COUNT_HW_BRANCH_MISSES +# target: on_branch_misses +# table: branch_misses +# code: | +# #include <linux/ptrace.h> +# #include <uapi/linux/bpf_perf_event.h> +# +# const int max_cpus = 256; +# +# struct key_t { +# int cpu; +# int pid; +# char name[TASK_COMM_LEN]; +# }; +# +# BPF_HASH(branch_misses, struct key_t); +# +# static inline __attribute__((always_inline)) void get_key(struct key_t* key) { +# key->cpu = bpf_get_smp_processor_id(); +# key->pid = bpf_get_current_pid_tgid(); +# bpf_get_current_comm(&(key->name), sizeof(key->name)); +# } +# +# int on_branch_misses(struct bpf_perf_event_data *ctx) { +# struct key_t key = {}; +# get_key(&key); +# +# branch_misses.increment(key, ctx->sample_period); +# return 0; +# } +# - name: bundle_bpf +# metrics: +# counter: +# - name: bus_cycles +# documentation: Count of bus cycles +# namespace: bpf +# labelnames: +# - name +# - cpu +# - pid +# events: +# - type: 0x0 # HARDWARE +# name: 0x6 # PERF_COUNT_HW_BUS_CYCLES +# target: on_bus_cycles +# table: bus_cycles +# code: | +# #include <linux/ptrace.h> +# #include <uapi/linux/bpf_perf_event.h> +# +# const int max_cpus = 256; +# +# struct key_t { +# int cpu; +# int pid; +# char name[TASK_COMM_LEN]; +# }; +# +# BPF_HASH(bus_cycles, struct key_t); +# +# static inline __attribute__((always_inline)) void get_key(struct key_t* key) { +# key->cpu = bpf_get_smp_processor_id(); +# key->pid = bpf_get_current_pid_tgid(); +# bpf_get_current_comm(&(key->name), sizeof(key->name)); +# } +# int on_bus_cycles(struct bpf_perf_event_data *ctx) { +# struct key_t key = {}; +# get_key(&key); +# +# bus_cycles.increment(key, ctx->sample_period); +# return 0; +# } +# - name: bundle_bpf +# metrics: +# counter: +# - name: stalled_cycles_frontend (not supported by CPU) +# documentation: Frontend stalled cycles +# namespace: bpf +# labelnames: +# - name +# - cpu +# - pid +# events: +# - type: 0x0 # HARDWARE +# name: 0x7 # PERF_COUNT_HW_STALLED_CYCLES_FRONTEND +# target: on_stalled_cycles_frontend +# table: stalled_cycles_frontend +# code: | +# #include <linux/ptrace.h> +# #include <uapi/linux/bpf_perf_event.h> +# +# const int max_cpus = 256; +# +# struct key_t { +# int cpu; +# int pid; +# char name[TASK_COMM_LEN]; +# }; +# +# BPF_HASH(stalled_cycles_frontend, struct key_t); +# +# static inline __attribute__((always_inline)) void get_key(struct key_t* key) { +# key->cpu = bpf_get_smp_processor_id(); +# key->pid = bpf_get_current_pid_tgid(); +# bpf_get_current_comm(&(key->name), sizeof(key->name)); +# } +# +# int on_stalled_cycles_frontend(struct bpf_perf_event_data *ctx) { +# struct key_t key = {}; +# get_key(&key); +# +# stalled_cycles_frontend.increment(key, ctx->sample_period); +# return 0; +# } +# - name: bundle_bpf +# metrics: +# counter: +# - name: stalled_cycles_backend +# documentation: Backend stalled cycles +# namespace: bpf +# labelnames: +# - name +# - cpu +# - pid +# events: +# - type: 0x0 # HARDWARE +# name: 0x8 # PERF_COUNT_HW_STALLED_CYCLES_BACKEND +# target: on_stalled_cycles_backend +# table: stalled_cycles_backend +# code: | +# #include <linux/ptrace.h> +# #include <uapi/linux/bpf_perf_event.h> +# +# const int max_cpus = 256; +# +# struct key_t { +# int cpu; +# int pid; +# char name[TASK_COMM_LEN]; +# }; +# +# BPF_HASH(stalled_cycles_backend, struct key_t); +# +# static inline __attribute__((always_inline)) void get_key(struct key_t* key) { +# key->cpu = bpf_get_smp_processor_id(); +# key->pid = bpf_get_current_pid_tgid(); +# bpf_get_current_comm(&(key->name), sizeof(key->name)); +# } +# +# int on_stalled_cycles_backend(struct bpf_perf_event_data *ctx) { +# struct key_t key = {}; +# get_key(&key); +# +# stalled_cycles_backend.increment(key, ctx->sample_period); +# return 0; +# } +# - name: bundle_bpf +# metrics: +# counter: +# - name: referenced_cpu_cycles +# documentation: Referenced CPU cycles +# namespace: bpf +# labelnames: +# - name +# - cpu +# - pid +# events: +# - type: 0x0 # HARDWARE +# name: 0x9 # PERF_COUNT_HW_REF_CPU_CYCLES +# target: on_referenced_cpu_cycles +# table: referenced_cpu_cycles +# code: | +# #include <linux/ptrace.h> +# #include <uapi/linux/bpf_perf_event.h> +# +# const int max_cpus = 256; +# +# struct key_t { +# int cpu; +# int pid; +# char name[TASK_COMM_LEN]; +# }; +# +# BPF_HASH(referenced_cpu_cycles, struct key_t); +# +# static inline __attribute__((always_inline)) void get_key(struct key_t* key) { +# key->cpu = bpf_get_smp_processor_id(); +# key->pid = bpf_get_current_pid_tgid(); +# bpf_get_current_comm(&(key->name), sizeof(key->name)); +# } +# +# int on_referenced_cpu_cycles(struct bpf_perf_event_data *ctx) { +# struct key_t key = {}; +# get_key(&key); +# +# referenced_cpu_cycles.increment(key, ctx->sample_period); +# return 0; +# } +# - name: bundle_bpf +# metrics: +# counter: +# - name: sw_cpu_clock +# documentation: SW CPU clock +# namespace: bpf +# labelnames: +# - name +# - cpu +# - pid +# events: +# - type: 0x1 # SOFTWARE +# name: 0x0 # PERF_COUNT_SW_CPU_CLOCK +# target: on_sw_cpu_clock +# table: sw_cpu_clock +# code: | +# #include <linux/ptrace.h> +# #include <uapi/linux/bpf_perf_event.h> +# +# const int max_cpus = 256; +# +# struct key_t { +# int cpu; +# int pid; +# char name[TASK_COMM_LEN]; +# }; +# +# BPF_HASH(sw_cpu_clock, struct key_t); +# +# static inline __attribute__((always_inline)) void get_key(struct key_t* key) { +# key->cpu = bpf_get_smp_processor_id(); +# key->pid = bpf_get_current_pid_tgid(); +# bpf_get_current_comm(&(key->name), sizeof(key->name)); +# } +# +# int on_sw_cpu_clock(struct bpf_perf_event_data *ctx) { +# struct key_t key = {}; +# get_key(&key); +# +# sw_cpu_clock.increment(key, ctx->sample_period); +# return 0; +# } +# - name: bundle_bpf +# metrics: +# counter: +# - name: sw_task_clock +# documentation: SW task clock +# namespace: bpf +# labelnames: +# - name +# - cpu +# - pid +# events: +# - type: 0x1 # SOFTWARE +# name: 0x1 # PERF_COUNT_SW_TASK_CLOCK +# target: on_sw_task_clock +# table: sw_task_clock +# code: | +# #include <linux/ptrace.h> +# #include <uapi/linux/bpf_perf_event.h> +# +# const int max_cpus = 256; +# +# struct key_t { +# int cpu; +# int pid; +# char name[TASK_COMM_LEN]; +# }; +# +# BPF_HASH(sw_task_clock, struct key_t); +# +# static inline __attribute__((always_inline)) void get_key(struct key_t* key) { +# key->cpu = bpf_get_smp_processor_id(); +# key->pid = bpf_get_current_pid_tgid(); +# bpf_get_current_comm(&(key->name), sizeof(key->name)); +# } +# +# int on_sw_task_clock(struct bpf_perf_event_data *ctx) { +# struct key_t key = {}; +# get_key(&key); +# +# sw_task_clock.increment(key, ctx->sample_period); +# return 0; +# } +# - name: bundle_bpf +# metrics: +# counter: +# - name: sw_page_faults +# documentation: SW page faults +# namespace: bpf +# labelnames: +# - name +# - cpu +# - pid +# events: +# - type: 0x1 # SOFTWARE +# name: 0x2 # PERF_COUNT_SW_PAGE_FAULTS +# target: on_sw_page_faults +# table: sw_page_faults +# code: | +# #include <linux/ptrace.h> +# #include <uapi/linux/bpf_perf_event.h> +# +# const int max_cpus = 256; +# +# struct key_t { +# int cpu; +# int pid; +# char name[TASK_COMM_LEN]; +# }; +# +# BPF_HASH(sw_page_faults, struct key_t); +# +# static inline __attribute__((always_inline)) void get_key(struct key_t* key) { +# key->cpu = bpf_get_smp_processor_id(); +# key->pid = bpf_get_current_pid_tgid(); +# bpf_get_current_comm(&(key->name), sizeof(key->name)); +# } +# +# int on_sw_page_faults(struct bpf_perf_event_data *ctx) { +# struct key_t key = {}; +# get_key(&key); +# +# sw_page_faults.increment(key, ctx->sample_period); +# return 0; +# } + - name: bundle_bpf + metrics: + counter: + - name: sw_context_switches + documentation: SW context switches + namespace: bpf + labelnames: + - name + - cpu + - pid + events: + - type: 0x1 # SOFTWARE + name: 0x3 # PERF_COUNT_SW_CONTEXT_SWITCHES + target: on_sw_context_switches + table: sw_context_switches + code: | + #include <linux/ptrace.h> + #include <uapi/linux/bpf_perf_event.h> + + const int max_cpus = 256; + + struct key_t { + int cpu; + int pid; + char name[TASK_COMM_LEN]; + }; + + BPF_HASH(sw_context_switches, struct key_t); + + static inline __attribute__((always_inline)) void get_key(struct key_t* key) { + key->cpu = bpf_get_smp_processor_id(); + key->pid = bpf_get_current_pid_tgid(); + bpf_get_current_comm(&(key->name), sizeof(key->name)); + } + + int on_sw_context_switches(struct bpf_perf_event_data *ctx) { struct key_t key = {}; get_key(&key); - cpu_instruction.increment(key, ctx->sample_period); + sw_context_switches.increment(key, ctx->sample_period); return 0; } - int on_cache_reference(struct bpf_perf_event_data *ctx) { +# - name: bundle_bpf +# metrics: +# counter: +# - name: sw_cpu_migrations +# documentation: SW cpu migrations +# namespace: bpf +# labelnames: +# - name +# - cpu +# - pid +# events: +# - type: 0x1 # SOFTWARE +# name: 0x4 # PERF_COUNT_SW_CPU_MIGRATIONS +# target: on_sw_cpu_migrations +# table: sw_cpu_migrations +# code: | +# #include <linux/ptrace.h> +# #include <uapi/linux/bpf_perf_event.h> +# +# const int max_cpus = 256; +# +# struct key_t { +# int cpu; +# int pid; +# char name[TASK_COMM_LEN]; +# }; +# +# BPF_HASH(sw_cpu_migrations, struct key_t); +# +# static inline __attribute__((always_inline)) void get_key(struct key_t* key) { +# key->cpu = bpf_get_smp_processor_id(); +# key->pid = bpf_get_current_pid_tgid(); +# bpf_get_current_comm(&(key->name), sizeof(key->name)); +# } +# +# int on_sw_cpu_migrations(struct bpf_perf_event_data *ctx) { +# struct key_t key = {}; +# get_key(&key); +# +# sw_cpu_migrations.increment(key, ctx->sample_period); +# return 0; +# } + - name: bundle_bpf + metrics: + counter: + - name: sw_page_faults_min + documentation: SW page faults minor + namespace: bpf + labelnames: + - name + - cpu + - pid + events: + - type: 0x1 # SOFTWARE + name: 0x5 # PERF_COUNT_SW_PAGE_FAULTS_MIN + target: on_sw_page_faults_min + table: sw_page_faults_min + code: | + #include <linux/ptrace.h> + #include <uapi/linux/bpf_perf_event.h> + + const int max_cpus = 256; + + struct key_t { + int cpu; + int pid; + char name[TASK_COMM_LEN]; + }; + + BPF_HASH(sw_page_faults_min, struct key_t); + + static inline __attribute__((always_inline)) void get_key(struct key_t* key) { + key->cpu = bpf_get_smp_processor_id(); + key->pid = bpf_get_current_pid_tgid(); + bpf_get_current_comm(&(key->name), sizeof(key->name)); + } + + int on_sw_page_faults_min(struct bpf_perf_event_data *ctx) { struct key_t key = {}; get_key(&key); - llc_reference.increment(key, ctx->sample_period); + sw_page_faults_min.increment(key, ctx->sample_period); return 0; } - int on_cache_miss(struct bpf_perf_event_data *ctx) { + - name: bundle_bpf + metrics: + counter: + - name: sw_page_faults_maj + documentation: SW page faults major + namespace: bpf + labelnames: + - name + - cpu + - pid + events: + - type: 0x1 # SOFTWARE + name: 0x6 # PERF_COUNT_SW_PAGE_FAULTS_MAJ + target: on_sw_page_faults_maj + table: sw_page_faults_maj + code: | + #include <linux/ptrace.h> + #include <uapi/linux/bpf_perf_event.h> + + const int max_cpus = 256; + + struct key_t { + int cpu; + int pid; + char name[TASK_COMM_LEN]; + }; + + BPF_HASH(sw_page_faults_maj, struct key_t); + + static inline __attribute__((always_inline)) void get_key(struct key_t* key) { + key->cpu = bpf_get_smp_processor_id(); + key->pid = bpf_get_current_pid_tgid(); + bpf_get_current_comm(&(key->name), sizeof(key->name)); + } + + int on_sw_page_faults_maj(struct bpf_perf_event_data *ctx) { struct key_t key = {}; get_key(&key); - llc_miss.increment(key, ctx->sample_period); + sw_page_faults_maj.increment(key, ctx->sample_period); return 0; } diff --git a/resources/templates/telemetry/perf_stat_runtime.yaml b/resources/templates/telemetry/perf_stat_runtime.yaml new file mode 100644 index 0000000000..ae0f804945 --- /dev/null +++ b/resources/templates/telemetry/perf_stat_runtime.yaml @@ -0,0 +1,134 @@ +--- +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_perf_stat + metrics: + counter: + - name: cpu_cycles + documentation: Cycles processed by CPUs + namespace: perf_stat + labelnames: + - thread + - pid + events: + - eventcode: 0x3C # cpu-cycles + umask: 0x00 + - name: bundle_perf_stat + metrics: + counter: + - name: instructions + documentation: Instructions retired by CPUs + namespace: perf_stat + labelnames: + - thread + - pid + events: + - eventcode: 0xC0 # instructions + umask: 0x00 + - name: bundle_perf_stat + metrics: + counter: + - name: mem_load_uops_retired_l1_hit + documentation: L1 Hit + namespace: perf_stat + labelnames: + - thread + - pid + events: + - eventcode: 0xD1 # MEM_LOAD_UOPS_RETIRED.L1_HIT + umask: 0x01 + - name: bundle_perf_stat + metrics: + counter: + - name: mem_load_uops_retired_l2_hit + documentation: L2 Hit + namespace: perf_stat + labelnames: + - thread + - pid + events: + - eventcode: 0xD1 # MEM_LOAD_UOPS_RETIRED.L2_HIT + umask: 0x02 + - name: bundle_perf_stat + metrics: + counter: + - name: mem_load_uops_retired_l3_hit + documentation: L3 Hit + namespace: perf_stat + labelnames: + - thread + - pid + events: + - eventcode: 0xD1 # MEM_LOAD_UOPS_RETIRED.L3_HIT + umask: 0x04 + - name: bundle_perf_stat + metrics: + counter: + - name: mem_load_uops_retired_l1_miss + documentation: L1 Miss + namespace: perf_stat + labelnames: + - thread + - pid + events: + - eventcode: 0xD1 # MEM_LOAD_UOPS_RETIRED.L1_MISS + umask: 0x08 + - name: bundle_perf_stat + metrics: + counter: + - name: mem_load_uops_retired_l2_miss + documentation: L2 Miss + namespace: perf_stat + labelnames: + - thread + - pid + events: + - eventcode: 0xD1 # MEM_LOAD_UOPS_RETIRED.L2_MISS + umask: 0x10 + - name: bundle_perf_stat + metrics: + counter: + - name: mem_load_uops_retired_l3_miss + documentation: L3 Miss + namespace: perf_stat + labelnames: + - thread + - pid + events: + - eventcode: 0xD1 # MEM_LOAD_UOPS_RETIRED.L3_MISS + umask: 0x20 diff --git a/resources/templates/telemetry/vpp_clear_stats.yaml b/resources/templates/telemetry/vpp_clear_stats.yaml index 2188588827..72c20604ee 100644 --- a/resources/templates/telemetry/vpp_clear_stats.yaml +++ b/resources/templates/telemetry/vpp_clear_stats.yaml @@ -41,40 +41,50 @@ programs: gauge: - name: calls documentation: Number of calls total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: vectors documentation: Number of vectors total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: suspends documentation: Number of suspends total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: clocks documentation: Number of clocks total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: vectors_calls documentation: Number of vectors per call + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -86,66 +96,92 @@ programs: gauge: - name: rx_packets documentation: Number of received packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_bytes documentation: Number of received bytes for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_error documentation: Number of errors on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_packets documentation: Number of transitted packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_bytes documentation: Number of transitted bytes for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_error documentation: Number of errors on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: drops documentation: Number of dropped packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: punt documentation: Number of punted packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: ip4 documentation: Number of IPv4 packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: ip6 documentation: Number of IPv6 packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: mpls documentation: Number of MPLS packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_no_buf documentation: Number of out of buffer RX packets on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_miss documentation: Number of missed RX packets on interface + namespace: vpp + subsystem: interface labelnames: - name - index @@ -156,31 +192,43 @@ programs: gauge: - name: rx_frames documentation: Number of RX frames for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: rx_bytes documentation: Number of RX bytes for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_frames documentation: Number of TX frames for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_bytes documentation: Number of TX bytes for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: rx_missed documentation: Number of missed RX packets on interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_missed documentation: Number of missed TX packets on interface + namespace: vpp + subsystem: hardware labelnames: - name - index @@ -191,6 +239,8 @@ programs: gauge: - name: node_counter documentation: Node counter + namespace: vpp + subsystem: node labelnames: - name - reason @@ -204,12 +254,16 @@ programs: gauge: - name: calls documentation: Load operations + namespace: vpp + subsystem: perfmon labelnames: - name - thread_name - thread_id - name: packets documentation: Load operations + namespace: vpp + subsystem: perfmon labelnames: - name - thread_name diff --git a/resources/templates/telemetry/vpp_runtime.yaml b/resources/templates/telemetry/vpp_runtime.yaml index b9a2368981..d7beb23cc6 100644 --- a/resources/templates/telemetry/vpp_runtime.yaml +++ b/resources/templates/telemetry/vpp_runtime.yaml @@ -38,24 +38,13 @@ scheduler: programs: - name: bundle_vpp metrics: - info: - - name: version - documentation: VPP version - namespace: vpp - subsystem: version - labelnames: - - version - code: | - show version - - name: bundle_vpp - metrics: gauge: - name: calls documentation: Number of calls total namespace: vpp subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -65,7 +54,7 @@ programs: namespace: vpp subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -75,7 +64,7 @@ programs: namespace: vpp subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -85,7 +74,7 @@ programs: namespace: vpp subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -95,7 +84,7 @@ programs: namespace: vpp subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -107,166 +96,12 @@ programs: - name: bundle_vpp metrics: gauge: - - name: rx_packets - documentation: Number of received packets for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: rx_bytes - documentation: Number of received bytes for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: rx_error - documentation: Number of errors on interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: tx_packets - documentation: Number of transitted packets for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: tx_bytes - documentation: Number of transitted bytes for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: tx_error - documentation: Number of errors on interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: drops - documentation: Number of dropped packets for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: punt - documentation: Number of punted packets for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: ip4 - documentation: Number of IPv4 packets for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: ip6 - documentation: Number of IPv6 packets for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: mpls - documentation: Number of MPLS packets for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: rx_no_buf - documentation: Number of out of buffer RX packets on interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: rx_miss - documentation: Number of missed RX packets on interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - code: | - clear interfaces - wait {duration} - show interface - - name: bundle_vpp - metrics: - gauge: - - name: node_counter - documentation: Node counter - namespace: vpp - subsystem: counters - labelnames: - - name - - reason - - severity - - thread_name - - thread_id - code: | - clear node counters - wait {duration} - show node counters verbose - - name: bundle_vpp - metrics: - gauge: - - name: context_switches - documentation: Per-thread context switches - namespace: vpp - subsystem: context_switches - labelnames: - - name - - id - code: | - perfmon reset - perfmon start bundle context-switches - wait {duration} - perfmon stop - show perfmon statistics - - name: bundle_vpp - metrics: - gauge: - - name: minor_page_faults - documentation: Per-thread page faults (minor) - namespace: vpp - subsystem: page_faults - labelnames: - - name - - id - - name: major_page_faults - documentation: Per-thread page faults (major) - namespace: vpp - subsystem: page_faults - labelnames: - - name - - id - code: | - perfmon reset - perfmon start bundle page-faults - wait {duration} - perfmon stop - show perfmon statistics - - name: bundle_vpp - metrics: - gauge: - name: calls documentation: Instructions/packet, cycles/packet and IPC (calls) namespace: vpp subsystem: inst_and_clock labelnames: - - name + - node_name - thread_name - thread_id - name: packets @@ -274,7 +109,7 @@ programs: namespace: vpp subsystem: inst_and_clock labelnames: - - name + - node_name - thread_name - thread_id - name: packets_per_call @@ -282,7 +117,7 @@ programs: namespace: vpp subsystem: inst_and_clock labelnames: - - name + - node_name - thread_name - thread_id - name: clocks_per_packets @@ -290,7 +125,7 @@ programs: namespace: vpp subsystem: inst_and_clock labelnames: - - name + - node_name - thread_name - thread_id - name: instructions_per_packets @@ -298,7 +133,7 @@ programs: namespace: vpp subsystem: inst_and_clock labelnames: - - name + - node_name - thread_name - thread_id - name: ipc @@ -306,7 +141,7 @@ programs: namespace: vpp subsystem: inst_and_clock labelnames: - - name + - node_name - thread_name - thread_id code: | @@ -323,7 +158,7 @@ programs: namespace: vpp subsystem: cache_hierarchy labelnames: - - name + - node_name - thread_name - thread_id - name: l1_miss @@ -331,7 +166,7 @@ programs: namespace: vpp subsystem: cache_hierarchy labelnames: - - name + - node_name - thread_name - thread_id - name: l2_hit @@ -339,7 +174,7 @@ programs: namespace: vpp subsystem: cache_hierarchy labelnames: - - name + - node_name - thread_name - thread_id - name: l2_miss @@ -347,7 +182,7 @@ programs: namespace: vpp subsystem: cache_hierarchy labelnames: - - name + - node_name - thread_name - thread_id - name: l3_hit @@ -355,7 +190,7 @@ programs: namespace: vpp subsystem: cache_hierarchy labelnames: - - name + - node_name - thread_name - thread_id - name: l3_miss @@ -363,7 +198,7 @@ programs: namespace: vpp subsystem: cache_hierarchy labelnames: - - name + - node_name - thread_name - thread_id code: | @@ -372,151 +207,3 @@ programs: wait {duration} perfmon stop show perfmon statistics - - name: bundle_vpp - metrics: - gauge: - - name: calls - documentation: Load operations (calls) - namespace: vpp - subsystem: load_blocks - labelnames: - - name - - thread_name - - thread_id - - name: packets - documentation: Load operations (packets) - namespace: vpp - subsystem: load_blocks - labelnames: - - name - - thread_name - - thread_id - code: | - perfmon reset - perfmon start bundle load-blocks - wait {duration} - perfmon stop - show perfmon statistics - - name: bundle_vpp - metrics: - gauge: - - name: branches_per_call - documentation: Branches/call - namespace: vpp - subsystem: branch_mispred - labelnames: - - name - - thread_name - - thread_id - - name: branches_per_packet - documentation: Branches/packet - namespace: vpp - subsystem: branch_mispred - labelnames: - - name - - thread_name - - thread_id - - name: taken_per_call - documentation: Taken/call - namespace: vpp - subsystem: branch_mispred - labelnames: - - name - - thread_name - - thread_id - - name: taken_per_packet - documentation: Taken/packet - namespace: vpp - subsystem: branch_mispred - labelnames: - - name - - thread_name - - thread_id - - name: mis_predictions - documentation: Mis-predictions - namespace: vpp - subsystem: branch_mispred - labelnames: - - name - - thread_name - - thread_id - code: | - perfmon reset - perfmon start bundle branch-mispred - wait {duration} - perfmon stop - show perfmon statistics - - name: bundle_vpp - metrics: - gauge: - - name: lvl0 - documentation: Branches/call - namespace: vpp - subsystem: power_licensing - labelnames: - - name - - thread_name - - thread_id - - name: lvl1 - documentation: Branches/packet - namespace: vpp - subsystem: power_licensing - labelnames: - - name - - thread_name - - thread_id - - name: lvl2 - documentation: Taken/call - namespace: vpp - subsystem: power_licensing - labelnames: - - name - - thread_name - - thread_id - - name: throttle - documentation: Taken/packet - namespace: vpp - subsystem: power_licensing - labelnames: - - name - - thread_name - - thread_id - code: | - perfmon reset - perfmon start bundle power-licensing - wait {duration} - perfmon stop - show perfmon statistics - - name: bundle_vpp - metrics: - gauge: - - name: runtime - documentation: RunTime - namespace: vpp - subsystem: memory_bandwidth - labelnames: - - name - - name: reads_mbs - documentation: Reads (MB/s) - namespace: vpp - subsystem: memory_bandwidth - labelnames: - - name - - name: writes_mbs - documentation: Writes (MB/s) - namespace: vpp - subsystem: memory_bandwidth - labelnames: - - name - - name: total_mbs - documentation: Total (MB/s) - namespace: vpp - subsystem: memory_bandwidth - labelnames: - - name - code: | - perfmon reset - perfmon start bundle memory-bandwidth - wait {duration} - perfmon stop - show perfmon statistics diff --git a/resources/templates/telemetry/vpp_show_stats.yaml b/resources/templates/telemetry/vpp_show_stats.yaml index dc900e6386..626839f410 100644 --- a/resources/templates/telemetry/vpp_show_stats.yaml +++ b/resources/templates/telemetry/vpp_show_stats.yaml @@ -41,40 +41,50 @@ programs: counter: - name: calls documentation: Number of calls total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: vectors documentation: Number of vectors total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: suspends documentation: Number of suspends total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: clocks documentation: Number of clocks total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: vectors_calls documentation: Number of vectors per call + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -86,66 +96,92 @@ programs: counter: - name: rx_packets documentation: Number of received packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_bytes documentation: Number of received bytes for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_error documentation: Number of errors on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_packets documentation: Number of transitted packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_bytes documentation: Number of transitted bytes for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_error documentation: Number of errors on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: drops documentation: Number of dropped packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: punt documentation: Number of punted packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: ip4 documentation: Number of IPv4 packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: ip6 documentation: Number of IPv6 packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: mpls documentation: Number of MPLS packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_no_buf documentation: Number of out of buffer RX packets on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_miss documentation: Number of missed RX packets on interface + namespace: vpp + subsystem: interface labelnames: - name - index @@ -156,31 +192,43 @@ programs: gauge: - name: rx_frames documentation: Number of RX frames for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: rx_bytes documentation: Number of RX bytes for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_frames documentation: Number of TX frames for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_bytes documentation: Number of TX bytes for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: rx_missed documentation: Number of missed RX packets on interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_missed documentation: Number of missed TX packets on interface + namespace: vpp + subsystem: hardware labelnames: - name - index @@ -191,6 +239,8 @@ programs: counter: - name: node_counter documentation: Node counter + namespace: vpp + subsystem: node labelnames: - name - reason diff --git a/resources/templates/telemetry/vpp_test_teardown.yaml b/resources/templates/telemetry/vpp_test_teardown.yaml index 37618bb852..ac096526ce 100644 --- a/resources/templates/telemetry/vpp_test_teardown.yaml +++ b/resources/templates/telemetry/vpp_test_teardown.yaml @@ -41,40 +41,50 @@ programs: counter: - name: calls documentation: Number of calls total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: vectors documentation: Number of vectors total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: suspends documentation: Number of suspends total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: clocks documentation: Number of clocks total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: vectors_calls documentation: Number of vectors per call + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -86,66 +96,92 @@ programs: counter: - name: rx_packets documentation: Number of received packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_bytes documentation: Number of received bytes for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_error documentation: Number of errors on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_packets documentation: Number of transitted packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_bytes documentation: Number of transitted bytes for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_error documentation: Number of errors on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: drops documentation: Number of dropped packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: punt documentation: Number of punted packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: ip4 documentation: Number of IPv4 packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: ip6 documentation: Number of IPv6 packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: mpls documentation: Number of MPLS packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_no_buf documentation: Number of out of buffer RX packets on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_miss documentation: Number of missed RX packets on interface + namespace: vpp + subsystem: interface labelnames: - name - index @@ -156,31 +192,43 @@ programs: gauge: - name: rx_frames documentation: Number of RX frames for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: rx_bytes documentation: Number of RX bytes for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_frames documentation: Number of TX frames for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_bytes documentation: Number of TX bytes for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: rx_missed documentation: Number of missed RX packets on interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_missed documentation: Number of missed TX packets on interface + namespace: vpp + subsystem: hardware labelnames: - name - index @@ -191,6 +239,8 @@ programs: counter: - name: node_counter documentation: Node counter + namespace: vpp + subsystem: node labelnames: - name - reason diff --git a/resources/templates/telemetry/vppctl_clear_stats.yaml b/resources/templates/telemetry/vppctl_clear_stats.yaml index 7c5124eb03..b23081e4f2 100644 --- a/resources/templates/telemetry/vppctl_clear_stats.yaml +++ b/resources/templates/telemetry/vppctl_clear_stats.yaml @@ -41,40 +41,50 @@ programs: gauge: - name: calls documentation: Number of calls total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: vectors documentation: Number of vectors total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: suspends documentation: Number of suspends total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: clocks documentation: Number of clocks total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: vectors_calls documentation: Number of vectors per call + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -86,66 +96,92 @@ programs: gauge: - name: rx_packets documentation: Number of received packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_bytes documentation: Number of received bytes for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_error documentation: Number of errors on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_packets documentation: Number of transitted packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_bytes documentation: Number of transitted bytes for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_error documentation: Number of errors on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: drops documentation: Number of dropped packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: punt documentation: Number of punted packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: ip4 documentation: Number of IPv4 packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: ip6 documentation: Number of IPv6 packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: mpls documentation: Number of MPLS packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_no_buf documentation: Number of out of buffer RX packets on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_miss documentation: Number of missed RX packets on interface + namespace: vpp + subsystem: interface labelnames: - name - index @@ -156,31 +192,43 @@ programs: gauge: - name: rx_frames documentation: Number of RX frames for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: rx_bytes documentation: Number of RX bytes for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_frames documentation: Number of TX frames for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_bytes documentation: Number of TX bytes for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: rx_missed documentation: Number of missed RX packets on interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_missed documentation: Number of missed TX packets on interface + namespace: vpp + subsystem: hardware labelnames: - name - index @@ -191,6 +239,8 @@ programs: gauge: - name: node_counter documentation: Node counter + namespace: vpp + subsystem: node labelnames: - name - reason @@ -204,12 +254,16 @@ programs: gauge: - name: calls documentation: Load operations + namespace: vpp + subsystem: perfmon labelnames: - name - thread_name - thread_id - name: packets documentation: Load operations + namespace: vpp + subsystem: perfmon labelnames: - name - thread_name diff --git a/resources/templates/telemetry/vppctl_runtime.yaml b/resources/templates/telemetry/vppctl_runtime.yaml index d8ff734e84..2ac72c0b8a 100644 --- a/resources/templates/telemetry/vppctl_runtime.yaml +++ b/resources/templates/telemetry/vppctl_runtime.yaml @@ -38,24 +38,13 @@ scheduler: programs: - name: bundle_vppctl metrics: - info: - - name: version - documentation: VPP version - namespace: vpp - subsystem: version - labelnames: - - version - code: | - vppctl -s {socket} show version - - name: bundle_vppctl - metrics: gauge: - name: calls documentation: Number of calls total namespace: vpp subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -65,7 +54,7 @@ programs: namespace: vpp subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -75,7 +64,7 @@ programs: namespace: vpp subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -85,7 +74,7 @@ programs: namespace: vpp subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -95,7 +84,7 @@ programs: namespace: vpp subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -107,166 +96,12 @@ programs: - name: bundle_vppctl metrics: gauge: - - name: rx_packets - documentation: Number of received packets for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: rx_bytes - documentation: Number of received bytes for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: rx_error - documentation: Number of errors on interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: tx_packets - documentation: Number of transitted packets for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: tx_bytes - documentation: Number of transitted bytes for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: tx_error - documentation: Number of errors on interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: drops - documentation: Number of dropped packets for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: punt - documentation: Number of punted packets for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: ip4 - documentation: Number of IPv4 packets for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: ip6 - documentation: Number of IPv6 packets for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: mpls - documentation: Number of MPLS packets for interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: rx_no_buf - documentation: Number of out of buffer RX packets on interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - - name: rx_miss - documentation: Number of missed RX packets on interface - namespace: vpp - subsystem: interface - labelnames: - - name - - index - code: | - vppctl -s {socket} clear interfaces - sleep {duration} - vppctl -s {socket} show interface - - name: bundle_vppctl - metrics: - gauge: - - name: node_counter - documentation: Node counter - namespace: vpp - subsystem: counters - labelnames: - - name - - reason - - severity - - thread_name - - thread_id - code: | - vppctl -s {socket} clear node counters - sleep {duration} - vppctl -s {socket} show node counters verbose - - name: bundle_vppctl - metrics: - gauge: - - name: context_switches - documentation: Per-thread context switches - namespace: vpp - subsystem: context_switches - labelnames: - - name - - id - code: | - vppctl -s {socket} perfmon reset - vppctl -s {socket} perfmon start bundle context-switches - sleep {duration} - vppctl -s {socket} perfmon stop - vppctl -s {socket} show perfmon statistics - - name: bundle_vppctl - metrics: - gauge: - - name: minor_page_faults - documentation: Per-thread page faults (minor) - namespace: vpp - subsystem: page_faults - labelnames: - - name - - id - - name: major_page_faults - documentation: Per-thread page faults (major) - namespace: vpp - subsystem: page_faults - labelnames: - - name - - id - code: | - vppctl -s {socket} perfmon reset - vppctl -s {socket} perfmon start bundle page-faults - sleep {duration} - vppctl -s {socket} perfmon stop - vppctl -s {socket} show perfmon statistics - - name: bundle_vppctl - metrics: - gauge: - name: calls documentation: Instructions/packet, cycles/packet and IPC (calls) namespace: vpp subsystem: inst_and_clock labelnames: - - name + - node_name - thread_name - thread_id - name: packets @@ -274,7 +109,7 @@ programs: namespace: vpp subsystem: inst_and_clock labelnames: - - name + - node_name - thread_name - thread_id - name: packets_per_call @@ -282,7 +117,7 @@ programs: namespace: vpp subsystem: inst_and_clock labelnames: - - name + - node_name - thread_name - thread_id - name: clocks_per_packets @@ -290,7 +125,7 @@ programs: namespace: vpp subsystem: inst_and_clock labelnames: - - name + - node_name - thread_name - thread_id - name: instructions_per_packets @@ -298,7 +133,7 @@ programs: namespace: vpp subsystem: inst_and_clock labelnames: - - name + - node_name - thread_name - thread_id - name: ipc @@ -306,7 +141,7 @@ programs: namespace: vpp subsystem: inst_and_clock labelnames: - - name + - node_name - thread_name - thread_id code: | @@ -323,7 +158,7 @@ programs: namespace: vpp subsystem: cache_hierarchy labelnames: - - name + - node_name - thread_name - thread_id - name: l1_miss @@ -331,7 +166,7 @@ programs: namespace: vpp subsystem: cache_hierarchy labelnames: - - name + - node_name - thread_name - thread_id - name: l2_hit @@ -339,7 +174,7 @@ programs: namespace: vpp subsystem: cache_hierarchy labelnames: - - name + - node_name - thread_name - thread_id - name: l2_miss @@ -347,7 +182,7 @@ programs: namespace: vpp subsystem: cache_hierarchy labelnames: - - name + - node_name - thread_name - thread_id - name: l3_hit @@ -355,7 +190,7 @@ programs: namespace: vpp subsystem: cache_hierarchy labelnames: - - name + - node_name - thread_name - thread_id - name: l3_miss @@ -363,7 +198,7 @@ programs: namespace: vpp subsystem: cache_hierarchy labelnames: - - name + - node_name - thread_name - thread_id code: | @@ -372,110 +207,3 @@ programs: sleep {duration} vppctl -s {socket} perfmon stop vppctl -s {socket} show perfmon statistics - - name: bundle_vppctl - metrics: - gauge: - - name: calls - documentation: Load operations (calls) - namespace: vpp - subsystem: load_blocks - labelnames: - - name - - thread_name - - thread_id - - name: packets - documentation: Load operations (packets) - namespace: vpp - subsystem: load_blocks - labelnames: - - name - - thread_name - - thread_id - code: | - vppctl -s {socket} perfmon reset - vppctl -s {socket} perfmon start bundle load-blocks - sleep {duration} - vppctl -s {socket} perfmon stop - vppctl -s {socket} show perfmon statistics - - name: bundle_vppctl - metrics: - gauge: - - name: branches_per_call - documentation: Branches/call - namespace: vpp - subsystem: branch_mispred - labelnames: - - name - - thread_name - - thread_id - - name: branches_per_packet - documentation: Branches/packet - namespace: vpp - subsystem: branch_mispred - labelnames: - - name - - thread_name - - thread_id - - name: taken_per_call - documentation: Taken/call - namespace: vpp - subsystem: branch_mispred - labelnames: - - name - - thread_name - - thread_id - - name: taken_per_packet - documentation: Taken/packet - namespace: vpp - subsystem: branch_mispred - labelnames: - - name - - thread_name - - thread_id - - name: mis_predictions - documentation: Mis-predictions - namespace: vpp - subsystem: branch_mispred - labelnames: - - name - - thread_name - - thread_id - code: | - vppctl -s {socket} perfmon reset - vppctl -s {socket} perfmon start bundle branch-mispred - sleep {duration} - vppctl -s {socket} perfmon stop - vppctl -s {socket} show perfmon statistics - - name: bundle_vppctl - metrics: - gauge: - - name: runtime - documentation: RunTime - namespace: vpp - subsystem: memory_bandwidth - labelnames: - - name - - name: reads_mbs - documentation: Reads (MB/s) - namespace: vpp - subsystem: memory_bandwidth - labelnames: - - name - - name: writes_mbs - documentation: Writes (MB/s) - namespace: vpp - subsystem: memory_bandwidth - labelnames: - - name - - name: total_mbs - documentation: Total (MB/s) - namespace: vpp - subsystem: memory_bandwidth - labelnames: - - name - code: | - vppctl -s {socket} perfmon reset - vppctl -s {socket} perfmon start bundle memory-bandwidth - sleep {duration} - vppctl -s {socket} perfmon stop - vppctl -s {socket} show perfmon statistics diff --git a/resources/templates/telemetry/vppctl_show_stats.yaml b/resources/templates/telemetry/vppctl_show_stats.yaml index 83bb746773..9f5a0240a1 100644 --- a/resources/templates/telemetry/vppctl_show_stats.yaml +++ b/resources/templates/telemetry/vppctl_show_stats.yaml @@ -41,40 +41,50 @@ programs: counter: - name: calls documentation: Number of calls total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: vectors documentation: Number of vectors total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: suspends documentation: Number of suspends total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: clocks documentation: Number of clocks total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: vectors_calls documentation: Number of vectors per call + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -86,66 +96,92 @@ programs: counter: - name: rx_packets documentation: Number of received packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_bytes documentation: Number of received bytes for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_error documentation: Number of errors on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_packets documentation: Number of transitted packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_bytes documentation: Number of transitted bytes for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_error documentation: Number of errors on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: drops documentation: Number of dropped packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: punt documentation: Number of punted packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: ip4 documentation: Number of IPv4 packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: ip6 documentation: Number of IPv6 packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: mpls documentation: Number of MPLS packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_no_buf documentation: Number of out of buffer RX packets on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_miss documentation: Number of missed RX packets on interface + namespace: vpp + subsystem: interface labelnames: - name - index @@ -156,31 +192,43 @@ programs: gauge: - name: rx_frames documentation: Number of RX frames for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: rx_bytes documentation: Number of RX bytes for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_frames documentation: Number of TX frames for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_bytes documentation: Number of TX bytes for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: rx_missed documentation: Number of missed RX packets on interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_missed documentation: Number of missed TX packets on interface + namespace: vpp + subsystem: hardware labelnames: - name - index @@ -191,6 +239,8 @@ programs: counter: - name: node_counter documentation: Node counter + namespace: vpp + subsystem: node labelnames: - name - reason diff --git a/resources/templates/telemetry/vppctl_test_teardown.yaml b/resources/templates/telemetry/vppctl_test_teardown.yaml index 10f2077137..e8458f7198 100644 --- a/resources/templates/telemetry/vppctl_test_teardown.yaml +++ b/resources/templates/telemetry/vppctl_test_teardown.yaml @@ -41,40 +41,50 @@ programs: counter: - name: calls documentation: Number of calls total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: vectors documentation: Number of vectors total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: suspends documentation: Number of suspends total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: clocks documentation: Number of clocks total + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id - thread_lcore - name: vectors_calls documentation: Number of vectors per call + namespace: vpp + subsystem: runtime labelnames: - - name + - node_name - state - thread_name - thread_id @@ -86,66 +96,92 @@ programs: counter: - name: rx_packets documentation: Number of received packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_bytes documentation: Number of received bytes for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_error documentation: Number of errors on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_packets documentation: Number of transitted packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_bytes documentation: Number of transitted bytes for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: tx_error documentation: Number of errors on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: drops documentation: Number of dropped packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: punt documentation: Number of punted packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: ip4 documentation: Number of IPv4 packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: ip6 documentation: Number of IPv6 packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: mpls documentation: Number of MPLS packets for interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_no_buf documentation: Number of out of buffer RX packets on interface + namespace: vpp + subsystem: interface labelnames: - name - index - name: rx_miss documentation: Number of missed RX packets on interface + namespace: vpp + subsystem: interface labelnames: - name - index @@ -156,31 +192,43 @@ programs: gauge: - name: rx_frames documentation: Number of RX frames for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: rx_bytes documentation: Number of RX bytes for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_frames documentation: Number of TX frames for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_bytes documentation: Number of TX bytes for interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: rx_missed documentation: Number of missed RX packets on interface + namespace: vpp + subsystem: hardware labelnames: - name - index - name: tx_missed documentation: Number of missed TX packets on interface + namespace: vpp + subsystem: hardware labelnames: - name - index @@ -191,6 +239,8 @@ programs: counter: - name: node_counter documentation: Node counter + namespace: vpp + subsystem: node labelnames: - name - reason |