diff --git a/.gitattributes b/.gitattributes index 381565e053a..835b4faafda 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7,4 +7,5 @@ # docs /docs/content/en/docs/reference/helm-chart.md linguist-generated /docs/content/en/docs/reference/grpc-api.md linguist-generated +/docs/content/en/docs/reference/metrics.md linguist-generated /docs/data/tetragon_flags.yaml linguist-generated diff --git a/Makefile b/Makefile index ba596f492e7..e3f88a37a58 100644 --- a/Makefile +++ b/Makefile @@ -414,4 +414,16 @@ kind-install-tetragon: ./contrib/localdev/install-tetragon.sh --image cilium/tetragon:latest --operator cilium/tetragon-operator:latest .PHONY: kind-setup -kind-setup: images kind kind-install-tetragon \ No newline at end of file +kind-setup: images kind kind-install-tetragon + +METRICS_DOCS_PATH := docs/content/en/docs/reference/metrics.md + +.PHONY: metrics-docs +metrics-docs: tetra + echo '---' > $(METRICS_DOCS_PATH) + echo 'title: "Metrics Reference"' >> $(METRICS_DOCS_PATH) + echo 'description: >' >> $(METRICS_DOCS_PATH) + echo ' This reference documents Prometheus metrics exposed by Tetragon.' >> $(METRICS_DOCS_PATH) + echo 'weight: 4' >> $(METRICS_DOCS_PATH) + echo '---' >> $(METRICS_DOCS_PATH) + $(CONTAINER_ENGINE) run --rm -v $(PWD):$(PWD) -w $(PWD) $(GO_IMAGE) ./tetra metrics-docs tetragon >> $(METRICS_DOCS_PATH) diff --git a/docs/content/en/docs/reference/metrics.md b/docs/content/en/docs/reference/metrics.md new file mode 100644 index 00000000000..5a7876f046b --- /dev/null +++ b/docs/content/en/docs/reference/metrics.md @@ -0,0 +1,201 @@ +--- +title: "Metrics Reference" +description: > + This reference documents Prometheus metrics exposed by Tetragon. +weight: 4 +--- + + +# Tetragon Metrics + +## `go_gc_duration_seconds` + +A summary of the pause duration of garbage collection cycles. + +## `go_goroutines` + +Number of goroutines that currently exist. + +## `go_info` + +Information about the Go environment. + +| label | values | +| ----- | ------ | +| `version` | `go1.22.0` | + +## `go_memstats_alloc_bytes` + +Number of bytes allocated and still in use. + +## `go_memstats_alloc_bytes_total` + +Total number of bytes allocated, even if freed. + +## `go_memstats_buck_hash_sys_bytes` + +Number of bytes used by the profiling bucket hash table. + +## `go_memstats_frees_total` + +Total number of frees. + +## `go_memstats_gc_sys_bytes` + +Number of bytes used for garbage collection system metadata. + +## `go_memstats_heap_alloc_bytes` + +Number of heap bytes allocated and still in use. + +## `go_memstats_heap_idle_bytes` + +Number of heap bytes waiting to be used. + +## `go_memstats_heap_inuse_bytes` + +Number of heap bytes that are in use. + +## `go_memstats_heap_objects` + +Number of allocated objects. + +## `go_memstats_heap_released_bytes` + +Number of heap bytes released to OS. + +## `go_memstats_heap_sys_bytes` + +Number of heap bytes obtained from system. + +## `go_memstats_last_gc_time_seconds` + +Number of seconds since 1970 of last garbage collection. + +## `go_memstats_lookups_total` + +Total number of pointer lookups. + +## `go_memstats_mallocs_total` + +Total number of mallocs. + +## `go_memstats_mcache_inuse_bytes` + +Number of bytes in use by mcache structures. + +## `go_memstats_mcache_sys_bytes` + +Number of bytes used for mcache structures obtained from system. + +## `go_memstats_mspan_inuse_bytes` + +Number of bytes in use by mspan structures. + +## `go_memstats_mspan_sys_bytes` + +Number of bytes used for mspan structures obtained from system. + +## `go_memstats_next_gc_bytes` + +Number of heap bytes when next garbage collection will take place. + +## `go_memstats_other_sys_bytes` + +Number of bytes used for other system allocations. + +## `go_memstats_stack_inuse_bytes` + +Number of bytes in use by the stack allocator. + +## `go_memstats_stack_sys_bytes` + +Number of bytes obtained from system for stack allocator. + +## `go_memstats_sys_bytes` + +Number of bytes obtained from system. + +## `go_threads` + +Number of OS threads created. + +## `process_cpu_seconds_total` + +Total user and system CPU time spent in seconds. + +## `process_max_fds` + +Maximum number of open file descriptors. + +## `process_open_fds` + +Number of open file descriptors. + +## `process_resident_memory_bytes` + +Resident memory size in bytes. + +## `process_start_time_seconds` + +Start time of the process since unix epoch in seconds. + +## `process_virtual_memory_bytes` + +Virtual memory size in bytes. + +## `process_virtual_memory_max_bytes` + +Maximum amount of virtual memory available in bytes. + +## `tetragon_build_info` + +Build information about tetragon + +| label | values | +| ----- | ------ | +| `commit` | `931b70f2c9878ba985ba6b589827bea17da6ec33` | +| `go_version` | `go1.22.0` | +| `modified` | `false` | +| `time ` | `2022-05-13T15:54:45Z` | + +## `tetragon_event_cache_accesses_total` + +The total number of Tetragon event cache accesses. For internal use only. + +## `tetragon_generic_kprobe_merge_ok_total` + +The total number of successful attempts to merge a kprobe and kretprobe event. + +## `tetragon_generic_kprobe_merge_pushed_total` + +The total number of pushed events for later merge. + +## `tetragon_notify_overflowed_events_total` + +The total number of events dropped because listener buffer was full + +## `tetragon_ratelimit_dropped_total` + +The total number of rate limit Tetragon drops + +## `tetragon_ringbuf_perf_event_errors_total` + +The total number of errors when reading the Tetragon ringbuf. + +## `tetragon_ringbuf_perf_event_lost_total` + +The total number of Tetragon ringbuf perf events lost. + +## `tetragon_ringbuf_perf_event_received_total` + +The total number of Tetragon ringbuf perf events received. + +## `tetragon_ringbuf_queue_lost_total` + +The total number of Tetragon events ring buffer queue lost. + +## `tetragon_ringbuf_queue_received_total` + +The total number of Tetragon events ring buffer queue received. +