--- logging: version: 1 formatters: console: format: '%(asctime)s - %(name)s - %(message)s' prom: format: '%(message)s' handlers: console: class: logging.StreamHandler level: INFO formatter: console stream: ext://sys.stdout 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] scheduler: duration: 1 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 - state - thread_name - thread_id - thread_lcore - name: vectors documentation: Number of vectors total namespace: vpp subsystem: runtime labelnames: - name - state - thread_name - thread_id - thread_lcore - name: suspends documentation: Number of suspends total namespace: vpp subsystem: runtime labelnames: - name - state - thread_name - thread_id - thread_lcore - name: clocks documentation: Number of clocks total namespace: vpp subsystem: runtime labelnames: - name - state - thread_name - thread_id - thread_lcore - name: vectors_calls documentation: Number of vectors per call namespace: vpp subsystem: runtime labelnames: - name - state - thread_name - thread_id - thread_lcore code: | clear runtime wait {duration} show runtime - 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: 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 - thread_name - thread_id - name: packets documentation: Instructions/packet, cycles/packet and IPC (packets) namespace: vpp subsystem: inst_and_clock labelnames: - 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: - 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: - 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: - name - thread_name - thread_id - name: ipc documentation: Instructions/packet, cycles/packet and IPC (clocks/packets) namespace: vpp subsystem: inst_and_clock labelnames: - name - thread_name - thread_id code: | perfmon reset perfmon start bundle inst-and-clock wait {duration} perfmon stop show perfmon statistics - name: bundle_vpp metrics: gauge: - name: l1_hit documentation: Cache hits and misses (L1 hit) namespace: vpp subsystem: cache_hierarchy labelnames: - name - thread_name - thread_id - name: l1_miss documentation: Cache hits and misses (L1 miss) namespace: vpp subsystem: cache_hierarchy labelnames: - name - thread_name - thread_id - name: l2_hit documentation: Cache hits and misses (L2 hit) namespace: vpp subsystem: cache_hierarchy labelnames: - name - thread_name - thread_id - name: l2_miss documentation: Cache hits and misses (L2 miss) namespace: vpp subsystem: cache_hierarchy labelnames: - name - thread_name - thread_id - name: l3_hit documentation: Cache hits and misses (L3 hit) namespace: vpp subsystem: cache_hierarchy labelnames: - name - thread_name - thread_id - name: l3_miss documentation: Cache hits and misses (L3 miss) namespace: vpp subsystem: cache_hierarchy labelnames: - name - thread_name - thread_id code: | perfmon reset perfmon start bundle cache-hierarchy 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