diff --git a/contrib/upgrade-notes/latest.md b/contrib/upgrade-notes/latest.md index ae5f0934ac9..14d7554f000 100644 --- a/contrib/upgrade-notes/latest.md +++ b/contrib/upgrade-notes/latest.md @@ -46,3 +46,9 @@ tetragon: * `tetragon_policyfilter_metrics_total` metric is renamed to `tetragon_policyfilter_operations_total`, and its `op` label is renamed to `operation`. +* Metrics related to ring buffer and events queue are renamed: + * `tetragon_ringbuf_perf_event_errors_total` -> `tetragon_observer_ringbuf_errors_total` + * `tetragon_ringbuf_perf_event_received_total` -> `tetragon_observer_ringbuf_events_received_total` + * `tetragon_ringbuf_perf_event_lost_total` -> `tetragon_observer_ringbuf_events_lost_total` + * `tetragon_ringbuf_queue_received_total` -> `tetragon_observer_ringbuf_queue_events_received_total` + * `tetragon_ringbuf_queue_lost_total` -> `tetragon_observer_ringbuf_queue_events_lost_total` diff --git a/docs/content/en/docs/reference/metrics.md b/docs/content/en/docs/reference/metrics.md index 35d7301e706..3eec60d8c81 100644 --- a/docs/content/en/docs/reference/metrics.md +++ b/docs/content/en/docs/reference/metrics.md @@ -211,6 +211,26 @@ The total number of times we encounter a given message opcode. For internal use The total number of events dropped because listener buffer was full +### `tetragon_observer_ringbuf_errors_total` + +Number of errors when reading Tetragon ring buffer. + +### `tetragon_observer_ringbuf_events_lost_total` + +Number of perf events Tetragon ring buffer lost. + +### `tetragon_observer_ringbuf_events_received_total` + +Number of perf events Tetragon ring buffer received. + +### `tetragon_observer_ringbuf_queue_events_lost_total` + +Number of perf events Tetragon ring buffer events queue lost. + +### `tetragon_observer_ringbuf_queue_events_received_total` + +Number of perf events Tetragon ring buffer events queue received. + ### `tetragon_policyfilter_hook_container_name_missing_total` The total number of operations when the container name was missing in the OCI hook @@ -245,26 +265,6 @@ Process Loader event statistics. For internal use only. The total number of rate limit Tetragon drops -### `tetragon_ringbuf_perf_event_errors_total` - -Number of errors when reading Tetragon ring buffer. - -### `tetragon_ringbuf_perf_event_lost_total` - -Number of perf events Tetragon ring buffer lost. - -### `tetragon_ringbuf_perf_event_received_total` - -Number of perf events Tetragon ring buffer received. - -### `tetragon_ringbuf_queue_lost_total` - -Number of perf events Tetragon ring buffer events queue lost. - -### `tetragon_ringbuf_queue_received_total` - -Number of perf events Tetragon ring buffer events queue received. - ### `tetragon_tracingpolicy_loaded` The number of loaded tracing policy by state. diff --git a/pkg/observer/metrics.go b/pkg/observer/metrics.go index 49e8624d513..639ac965ee3 100644 --- a/pkg/observer/metrics.go +++ b/pkg/observer/metrics.go @@ -9,38 +9,47 @@ import ( "github.com/prometheus/client_golang/prometheus" ) +const ( + subsystem = "observer" +) + var ( // TODO: These metrics are also stored as Observer struct fields. We could // collect them only once: https://github.com/cilium/tetragon/issues/2834 RingbufReceived = prometheus.NewCounter(prometheus.CounterOpts{ Namespace: consts.MetricsNamespace, - Name: "ringbuf_perf_event_received_total", + Subsystem: subsystem, + Name: "ringbuf_events_received_total", Help: "Number of perf events Tetragon ring buffer received.", ConstLabels: nil, }) RingbufLost = prometheus.NewCounter(prometheus.CounterOpts{ Namespace: consts.MetricsNamespace, - Name: "ringbuf_perf_event_lost_total", + Subsystem: subsystem, + Name: "ringbuf_events_lost_total", Help: "Number of perf events Tetragon ring buffer lost.", ConstLabels: nil, }) RingbufErrors = prometheus.NewCounter(prometheus.CounterOpts{ Namespace: consts.MetricsNamespace, - Name: "ringbuf_perf_event_errors_total", + Subsystem: subsystem, + Name: "ringbuf_errors_total", Help: "Number of errors when reading Tetragon ring buffer.", ConstLabels: nil, }) queueReceived = prometheus.NewCounter(prometheus.CounterOpts{ Namespace: consts.MetricsNamespace, - Name: "ringbuf_queue_received_total", + Subsystem: subsystem, + Name: "ringbuf_queue_events_received_total", Help: "Number of perf events Tetragon ring buffer events queue received.", ConstLabels: nil, }) queueLost = prometheus.NewCounter(prometheus.CounterOpts{ Namespace: consts.MetricsNamespace, - Name: "ringbuf_queue_lost_total", + Subsystem: subsystem, + Name: "ringbuf_queue_events_lost_total", Help: "Number of perf events Tetragon ring buffer events queue lost.", ConstLabels: nil, })