From b5f8ee61a7f7e9bd291dd26b0585d03eb686c941 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 5 May 2024 13:19:16 +0200 Subject: Adding upstream version 1.46.3. Signed-off-by: Daniel Baumann --- .../go.d.plugin/modules/k8s_kubelet/metrics.go | 113 +++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 src/go/collectors/go.d.plugin/modules/k8s_kubelet/metrics.go (limited to 'src/go/collectors/go.d.plugin/modules/k8s_kubelet/metrics.go') diff --git a/src/go/collectors/go.d.plugin/modules/k8s_kubelet/metrics.go b/src/go/collectors/go.d.plugin/modules/k8s_kubelet/metrics.go new file mode 100644 index 000000000..15867b975 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/k8s_kubelet/metrics.go @@ -0,0 +1,113 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +package k8s_kubelet + +import ( + mtx "github.com/netdata/netdata/go/go.d.plugin/pkg/metrics" +) + +func newMetrics() *metrics { + var mx metrics + mx.RESTClient.Requests.ByStatusCode = make(map[string]mtx.Gauge) + mx.RESTClient.Requests.ByMethod = make(map[string]mtx.Gauge) + mx.Kubelet.Runtime.Operations = make(map[string]mtx.Gauge) + mx.Kubelet.Runtime.OperationsErrors = make(map[string]mtx.Gauge) + mx.Kubelet.Docker.Operations = make(map[string]mtx.Gauge) + mx.Kubelet.Docker.OperationsErrors = make(map[string]mtx.Gauge) + mx.Kubelet.PodLogFileSystemUsage = make(map[string]mtx.Gauge) + + return &mx +} + +type metrics struct { + Token tokenMetrics `stm:"token"` + RESTClient restClientMetrics `stm:"rest_client"` + APIServer apiServerMetrics `stm:"apiserver"` + Kubelet kubeletMetrics `stm:"kubelet"` + VolumeManager volumeManagerMetrics `stm:"volume_manager"` +} + +type tokenMetrics struct { + Count mtx.Gauge `stm:"count"` + FailCount mtx.Gauge `stm:"fail_count"` +} + +type restClientMetrics struct { + Requests struct { + ByStatusCode map[string]mtx.Gauge `stm:""` + ByMethod map[string]mtx.Gauge `stm:""` + } `stm:"requests"` +} + +type apiServerMetrics struct { + Audit struct { + Requests struct { + Rejected mtx.Gauge `stm:"rejected_total"` + } `stm:"requests"` + } `stm:"audit"` + Storage struct { + EnvelopeTransformation struct { + CacheMisses mtx.Gauge `stm:"cache_misses_total"` + } `stm:"envelope_transformation"` + DataKeyGeneration struct { + Failures mtx.Gauge `stm:"failures_total"` + Latencies struct { + LE5 mtx.Gauge `stm:"5"` + LE10 mtx.Gauge `stm:"10"` + LE20 mtx.Gauge `stm:"20"` + LE40 mtx.Gauge `stm:"40"` + LE80 mtx.Gauge `stm:"80"` + LE160 mtx.Gauge `stm:"160"` + LE320 mtx.Gauge `stm:"320"` + LE640 mtx.Gauge `stm:"640"` + LE1280 mtx.Gauge `stm:"1280"` + LE2560 mtx.Gauge `stm:"2560"` + LE5120 mtx.Gauge `stm:"5120"` + LE10240 mtx.Gauge `stm:"10240"` + LE20480 mtx.Gauge `stm:"20480"` + LE40960 mtx.Gauge `stm:"40960"` + LEInf mtx.Gauge `stm:"+Inf"` + } `stm:"bucket"` + } `stm:"data_key_generation"` + } `stm:"storage"` +} + +type kubeletMetrics struct { + NodeConfigError mtx.Gauge `stm:"node_config_error"` + RunningContainerCount mtx.Gauge `stm:"running_container"` + RunningPodCount mtx.Gauge `stm:"running_pod"` + PLEG struct { + Relist struct { + Interval struct { + Quantile05 mtx.Gauge `stm:"05"` + Quantile09 mtx.Gauge `stm:"09"` + Quantile099 mtx.Gauge `stm:"099"` + } `stm:"interval"` + Latency struct { + Quantile05 mtx.Gauge `stm:"05"` + Quantile09 mtx.Gauge `stm:"09"` + Quantile099 mtx.Gauge `stm:"099"` + } `stm:"latency"` + } `stm:"relist"` + } `stm:"pleg"` + Runtime struct { + Operations map[string]mtx.Gauge `stm:"operations"` + OperationsErrors map[string]mtx.Gauge `stm:"operations_errors"` + } `stm:"runtime"` + Docker struct { + Operations map[string]mtx.Gauge `stm:"operations"` + OperationsErrors map[string]mtx.Gauge `stm:"operations_errors"` + } `stm:"docker"` + PodLogFileSystemUsage map[string]mtx.Gauge `stm:"log_file_system_usage"` +} + +type volumeManagerMetrics struct { + Plugins map[string]*volumeManagerPlugin `stm:"plugin"` +} + +type volumeManagerPlugin struct { + State struct { + Actual mtx.Gauge `stm:"actual"` + Desired mtx.Gauge `stm:"desired"` + } `stm:"state"` +} -- cgit v1.2.3