From ed287834b5e0a5b1264162f3958e5a99666b6a2f Mon Sep 17 00:00:00 2001 From: Anna Kapuscinska Date: Thu, 22 Aug 2024 20:43:11 +0100 Subject: [PATCH] observer: Rename ringbuf metrics Use more consistent names for easier querying. Signed-off-by: Anna Kapuscinska --- contrib/upgrade-notes/latest.md | 6 ++++ docs/content/en/docs/reference/metrics.md | 40 +++++++++++------------ pkg/observer/metrics.go | 19 ++++++++--- 3 files changed, 40 insertions(+), 25 deletions(-) diff --git a/contrib/upgrade-notes/latest.md b/contrib/upgrade-notes/latest.md index 0d773927828..dd6acfe6889 100644 --- a/contrib/upgrade-notes/latest.md +++ b/contrib/upgrade-notes/latest.md @@ -47,3 +47,9 @@ tetragon: * `tetragon_policyfilter_metrics_total` metric is renamed to `tetragon_policyfilter_operations_total`, and its `op` label is renamed to `operation`. * `tetragon_missed_events_total` metric is renamed to `tetragon_bpf_missed_events_total`. +* 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 b38762de52d..1f2825cc717 100644 --- a/docs/content/en/docs/reference/metrics.md +++ b/docs/content/en/docs/reference/metrics.md @@ -212,6 +212,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 @@ -246,26 +266,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, })