coreweave/ovsdp-exporter
Go
Captured source
source ↗coreweave/ovsdp-exporter
Description: OVS datapath metric exporter
Language: Go
Stars: 3
Forks: 1
Open issues: 2
Created: 2024-11-20T21:32:23Z
Pushed: 2026-06-02T18:08:46Z
Default branch: main
Fork: no
Archived: no
README:
ovsdp-exporter
OVS datapath metric exporter. It executes a few ovs-appctl commands and exposes selected values as Prometheus metrics.
Commands executed and exported metrics
ovs-appctl dpif-netdev/pmd-stats-show
PMD thread and datapath performance stats.
ovsdp_miss_with_success_upcall: Cache misses with successful upcalls.ovsdp_miss_with_failed_upcall: Cache misses with failed upcalls.ovsdp_processing_cycles: CPU cycles spent actively processing packets (percent).ovsdp_idle_cycles: CPU cycles idle waiting for packets (percent).ovsdp_avg_subtable_lookups_megaflow: Average subtable lookups per megaflow hit.
ovs-appctl dpctl/offload-stats-show
Hardware offload statistics and latency.
ovsdp_offload_enqueued: Enqueued offloads total.ovsdp_offload_inserted: Inserted offloads total.ovsdp_offload_ct_unidir_connections: CT uni-dir connections offloaded.ovsdp_offload_ct_bidir_connections: CT bi-dir connections offloaded.ovsdp_offload_cum_avg_latency_us: Cumulative average latency (microseconds).ovsdp_offload_cum_latency_stddev_us: Cumulative latency standard deviation (microseconds).ovsdp_offload_cum_latency_max_us: Cumulative latency maximum observed (microseconds).ovsdp_offload_cum_latency_min_us: Cumulative latency minimum observed (microseconds).ovsdp_offload_exp_avg_latency_us: Exponential moving average latency (microseconds).ovsdp_offload_exp_latency_stddev_us: Exponential moving latency standard deviation (microseconds).
ovs-appctl coverage/show
Drop reasons, DOCA counters, and upcall flow-limit behavior.
- Drop reasons (datapath and actions):
ovsdp_datapath_drop_upcall_error: Drop due to error in the Upcall process.ovsdp_datapath_drop_lock_error: Drop due to Upcall lock contention.ovsdp_datapath_drop_rx_invalid_packet: Drop invalid packet (shorter than Ethernet header indicates).ovsdp_datapath_drop_meter: Drop in the OpenFlow Meter Table.ovsdp_datapath_drop_userspace_action_error: Drop due to generic action execution error.ovsdp_datapath_drop_tunnel_push_error: Drop due to tunnel push (encap) error.ovsdp_datapath_drop_tunnel_pop_error: Drop due to tunnel pop (decap) error.ovsdp_datapath_drop_recirc_error: Drop due to recirculation error.ovsdp_datapath_drop_invalid_port: Drop due to invalid port.ovsdp_datapath_drop_invalid_tnl_port: Drop due to invalid tunnel port on pop.ovsdp_datapath_drop_sample_error: Drop due to sampling error.ovsdp_datapath_drop_nsh_decap_error: Drop due to invalid NSH decapsulation.ovsdp_drop_action_of_pipeline: Drop due to pipeline/action parsing errors.ovsdp_drop_action_bridge_not_found: Drop due to bridge not found at translation time.ovsdp_drop_action_recursion_too_deep: Drop due to excessive translation recursion.ovsdp_drop_action_too_many_resubmit: Drop due to too many resubmits.ovsdp_drop_action_stack_too_deep: Drop due to excessive stack usage (>64kB).ovsdp_drop_action_no_recirculation_context: Drop due to missing recirculation context.ovsdp_drop_action_recirculation_conflict: Drop due to recirculation conflict.ovsdp_drop_action_too_many_mpls_labels: Drop due to too many MPLS labels to pop.ovsdp_drop_action_invalid_tunnel_metadata: Drop due to invalid GENEVE tunnel metadata.ovsdp_drop_action_unsupported_packet_type: Drop due to unsupported packet type.ovsdp_drop_action_congestion: Drop due to ECN congestion mismatch.ovsdp_drop_action_forwarding_disabled: Drop when port forwarding is disabled.
- Additional datapath counters:
ovsdp_netdev_vxlan_tso_drops: Drops due to VXLAN TSO issues.ovsdp_netdev_geneve_tso_drops: Drops due to Geneve TSO issues.ovsdp_netdev_push_header_drops: Drops due to push header errors.ovsdp_netdev_soft_seg_drops: Drops due to software segmentation issues.ovsdp_datapath_drop_tunnel_tso_recirc: Drops due to tunnel TSO recirculation errors.ovsdp_datapath_drop_invalid_bond: Drops due to invalid bond configuration.ovsdp_datapath_drop_hw_miss_recover: Drops due to hardware miss recovery failure.
- DOCA:
ovsdp_ovs_doca_no_mark: Packets dropped due to missing mark in OVS-DOCA.ovsdp_ovs_doca_invalid_classify_port: Packets dropped due to invalid classify port in OVS-DOCA.ovsdp_doca_queue_empty: Times an offload completion queue was found empty.ovsdp_doca_queue_none_processed: Times a queue had pending entries but none processed.ovsdp_doca_resize_block: Queue processing blocked during pipeline resizing with no entries processed.ovsdp_doca_pipe_resize: Times a pipe resize operation began.ovsdp_doca_pipe_resize_over_10_ms: Times a pipe resize took longer than 10 ms.
- Upcall Flow Limit behavior:
ovsdp_upcall_flow_limit_grew: Flow limit increased due to fast processing.ovsdp_upcall_flow_limit_hit: Flow limit was hit during upcall processing.ovsdp_upcall_flow_limit_kill: Flows killed due to exceeding flow limit.ovsdp_upcall_flow_limit_reduced: Flow limit reduced due to high processing time.ovsdp_upcall_flow_limit_scaled: Flow limit scaled down due to very long processing time.
ovs-appctl metrics/show
Prometheus-formatted metrics directly from OVS. All metrics returned by this command are exposed with their original names and labels, supporting both gauge and counter types. This includes a wide range of ovs_vswitchd_* prefixed metrics covering:
- Bridge metrics: Bridge configuration and flow counts
ovs_vswitchd_bridge: A metric with a constant value '1' labeled by bridge name and type present on the instanceovs_vswitchd_bridge_n_bridges: Number of bridges present in the instanceovs_vswitchd_bridge_n_flows: Number of flows present on the bridgeovs_vswitchd_bridge_n_ports: Number of ports present on the bridge
- Connection tracking: Conntrack statistics by connection type
ovs_vswitchd_conntrack_connection_limit: Maximum number of connections allowedovs_vswitchd_conntrack_n_connections: Number of tracked connectionsovs_vswitchd_conntrack_n_dccp: Number of tracked DCCP connectionsovs_vswitchd_conntrack_n_icmp: Number of tracked ICMP…
Excerpt shown — open the source for the full document.
Notability
notability 3.0/10Low-stars routine repo release