From 1501613d981249301dd5ffb7ca3b53aed97c8fc1 Mon Sep 17 00:00:00 2001 From: ChrsMark Date: Thu, 24 Apr 2025 17:10:39 +0300 Subject: [PATCH 1/5] Add k8s container resource related metrics Signed-off-by: ChrsMark --- .chloggen/add_k8s_container_metrics.yaml | 22 +++ docs/non-normative/k8s-migration.md | 24 +++ docs/system/k8s-metrics.md | 189 +++++++++++++++++++++++ model/k8s/metrics.yaml | 74 +++++++++ 4 files changed, 309 insertions(+) create mode 100644 .chloggen/add_k8s_container_metrics.yaml diff --git a/.chloggen/add_k8s_container_metrics.yaml b/.chloggen/add_k8s_container_metrics.yaml new file mode 100644 index 0000000000..26e4a8388f --- /dev/null +++ b/.chloggen/add_k8s_container_metrics.yaml @@ -0,0 +1,22 @@ +# Use this changelog template to create an entry for release notes. +# +# If your change doesn't affect end users you should instead start +# your pull request title with [chore] or use the "Skip Changelog" label. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: enhancement + +# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) +component: k8s + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Add K8s container resource related metrics + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +# The values here must be integers. +issues: [2074] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: diff --git a/docs/non-normative/k8s-migration.md b/docs/non-normative/k8s-migration.md index d56ba67bad..79cc281f54 100644 --- a/docs/non-normative/k8s-migration.md +++ b/docs/non-normative/k8s-migration.md @@ -57,6 +57,7 @@ and one for disabling the old schema called `semconv.k8s.disableLegacy`. Then: - [K8s Namespace metrics](#k8s-namespace-metrics) - [K8s ResourceQuota resource](#k8s-resourcequota-resource) - [K8s ReplicationController resource](#k8s-replicationcontroller-resource) + - [K8s Container metrics](#k8s-container-metrics) @@ -282,4 +283,27 @@ The changes are the following: |---------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------| | `k8s.replication_controller.{name,uid}` | `k8s.replicationcontroller.{name,uid}` | +### K8s Container metrics + +The K8s Container metrics implemented by the Collector and specifically the +[k8scluster](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.115.0/receiver/k8sclusterreceiver/documentation.md) +receiver were introduced as semantic conventions in +[#2178](https://github.com/open-telemetry/semantic-conventions/pull/2178) (TODO: replace with SemConv version once +available). + +The changes in their metrics are the following: + + + +| Old (Collector) ![changed](https://img.shields.io/badge/changed-orange?style=flat) | New | +|------------------------------------------------------------------------------------|----------------------------------------| +| `k8s.container.cpu_limit` | `k8s.container.cpu.limit` | +| `k8s.container.cpu_request` | `k8s.container.cpu.request` | +| `k8s.container.memory_limit` | `k8s.container.memory.limit` | +| `k8s.container.memory_request` | `k8s.container.memory.request` | +| `k8s.container.storage_limit` | `k8s.container.storage.limit` | +| `k8s.container.storage_request` | `k8s.container.storage.request` | +| `k8s.container.ephemeralstorage_limit` | `k8s.container.ephemeralstorage.limit` | +| `k8s.container.ephemeralstorage_request` | `k8s.container.ephemeralstorage.request` | + diff --git a/docs/system/k8s-metrics.md b/docs/system/k8s-metrics.md index c72e19b0df..1a2a769c06 100644 --- a/docs/system/k8s-metrics.md +++ b/docs/system/k8s-metrics.md @@ -65,6 +65,15 @@ and therefore inherit its attributes, like `k8s.pod.name` and `k8s.pod.uid`. - [Metric: `k8s.cronjob.active_jobs`](#metric-k8scronjobactive_jobs) - [Namespace metrics](#namespace-metrics) - [Metric: `k8s.namespace.phase`](#metric-k8snamespacephase) +- [K8s Container metrics](#k8s-container-metrics) + - [Metric: `k8s.container.cpu.limit`](#metric-k8scontainercpulimit) + - [Metric: `k8s.container.cpu.request`](#metric-k8scontainercpurequest) + - [Metric: `k8s.container.memory.limit`](#metric-k8scontainermemorylimit) + - [Metric: `k8s.container.memory.request`](#metric-k8scontainermemoryrequest) + - [Metric: `k8s.container.storage.limit`](#metric-k8scontainerstoragelimit) + - [Metric: `k8s.container.storage.request`](#metric-k8scontainerstoragerequest) + - [Metric: `k8s.container.ephemeralstorage.limit`](#metric-k8scontainerephemeralstoragelimit) + - [Metric: `k8s.container.ephemeralstorage.request`](#metric-k8scontainerephemeralstoragerequest) @@ -1089,5 +1098,185 @@ This metric is [recommended][MetricRecommended]. +## K8s Container metrics + +**Description:** K8s Container level metrics captured under the namespace `k8s.container`. + +### Metric: `k8s.container.cpu.limit` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `k8s.container.cpu.limit` | Gauge | `{cpu}` | Maximum CPU resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + + + + + +### Metric: `k8s.container.cpu.request` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `k8s.container.cpu.request` | Gauge | `{cpu}` | CPU resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + + + + + +### Metric: `k8s.container.memory.limit` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `k8s.container.memory.limit` | Gauge | `By` | Maximum memory resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + + + + + +### Metric: `k8s.container.memory.request` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `k8s.container.memory.request` | Gauge | `By` | Memory resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + + + + + +### Metric: `k8s.container.storage.limit` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `k8s.container.storage.limit` | Gauge | `By` | Maximum storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + + + + + +### Metric: `k8s.container.storage.request` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `k8s.container.storage.request` | Gauge | `By` | Storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + + + + + +### Metric: `k8s.container.ephemeralstorage.limit` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `k8s.container.ephemeralstorage.limit` | Gauge | `By` | Maximum ephemeral storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + + + + + +### Metric: `k8s.container.ephemeralstorage.request` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `k8s.container.ephemeralstorage.request` | Gauge | `By` | Ephemeral storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + + + + + [DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended diff --git a/model/k8s/metrics.yaml b/model/k8s/metrics.yaml index 9c199bd5cf..0b2653912c 100644 --- a/model/k8s/metrics.yaml +++ b/model/k8s/metrics.yaml @@ -469,3 +469,77 @@ groups: attributes: - ref: k8s.namespace.phase requirement_level: required + + # k8s.container.* metrics + - id: metric.k8s.container.cpu.limit + type: metric + metric_name: k8s.container.cpu.limit + stability: development + brief: "Maximum CPU resource limit set for the container" + note: | + See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + instrument: gauge + unit: "{cpu}" + - id: metric.k8s.container.cpu.request + type: metric + metric_name: k8s.container.cpu.request + stability: development + brief: "CPU resource requested for the container" + note: | + See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + instrument: gauge + unit: "{cpu}" + - id: metric.k8s.container.memory.limit + type: metric + metric_name: k8s.container.memory.limit + stability: development + brief: "Maximum memory resource limit set for the container" + note: | + See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + instrument: gauge + unit: "By" + - id: metric.k8s.container.memory.request + type: metric + metric_name: k8s.container.memory.request + stability: development + brief: "Memory resource requested for the container" + note: | + See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + instrument: gauge + unit: "By" + - id: metric.k8s.container.storage.limit + type: metric + metric_name: k8s.container.storage.limit + stability: development + brief: "Maximum storage resource limit set for the container" + note: | + See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + instrument: gauge + unit: "By" + - id: metric.k8s.container.storage.request + type: metric + metric_name: k8s.container.storage.request + stability: development + brief: "Storage resource requested for the container" + note: | + See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + instrument: gauge + unit: "By" + - id: metric.k8s.container.ephemeralstorage.limit + type: metric + metric_name: k8s.container.ephemeralstorage.limit + stability: development + brief: "Maximum ephemeral storage resource limit set for the container" + note: | + See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + instrument: gauge + unit: "By" + - id: metric.k8s.container.ephemeralstorage.request + type: metric + metric_name: k8s.container.ephemeralstorage.request + stability: development + brief: "Ephemeral storage resource requested for the container" + note: | + See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + instrument: gauge + unit: "By" From 12a9f6a8cf2167b6b5eca9afde057e6cd1ffda84 Mon Sep 17 00:00:00 2001 From: ChrsMark Date: Mon, 28 Apr 2025 13:50:22 +0300 Subject: [PATCH 2/5] Add note about resource ref Signed-off-by: ChrsMark --- docs/system/k8s-metrics.md | 24 ++++++++++++++++++++++++ model/k8s/metrics.yaml | 24 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/docs/system/k8s-metrics.md b/docs/system/k8s-metrics.md index 1a2a769c06..85f1d051f2 100644 --- a/docs/system/k8s-metrics.md +++ b/docs/system/k8s-metrics.md @@ -1119,6 +1119,9 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. +This metric SHOULD, at a minimum, be reported against a +[`k8s.container`](../resource/k8s.md#container) resource. + @@ -1141,6 +1144,9 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. +This metric SHOULD, at a minimum, be reported against a +[`k8s.container`](../resource/k8s.md#container) resource. + @@ -1163,6 +1169,9 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. +This metric SHOULD, at a minimum, be reported against a +[`k8s.container`](../resource/k8s.md#container) resource. + @@ -1185,6 +1194,9 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. +This metric SHOULD, at a minimum, be reported against a +[`k8s.container`](../resource/k8s.md#container) resource. + @@ -1207,6 +1219,9 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. +This metric SHOULD, at a minimum, be reported against a +[`k8s.container`](../resource/k8s.md#container) resource. + @@ -1229,6 +1244,9 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. +This metric SHOULD, at a minimum, be reported against a +[`k8s.container`](../resource/k8s.md#container) resource. + @@ -1251,6 +1269,9 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. +This metric SHOULD, at a minimum, be reported against a +[`k8s.container`](../resource/k8s.md#container) resource. + @@ -1273,6 +1294,9 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. +This metric SHOULD, at a minimum, be reported against a +[`k8s.container`](../resource/k8s.md#container) resource. + diff --git a/model/k8s/metrics.yaml b/model/k8s/metrics.yaml index 0b2653912c..51c6fcd290 100644 --- a/model/k8s/metrics.yaml +++ b/model/k8s/metrics.yaml @@ -478,6 +478,9 @@ groups: brief: "Maximum CPU resource limit set for the container" note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + This metric SHOULD, at a minimum, be reported against a + [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "{cpu}" - id: metric.k8s.container.cpu.request @@ -487,6 +490,9 @@ groups: brief: "CPU resource requested for the container" note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + This metric SHOULD, at a minimum, be reported against a + [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "{cpu}" - id: metric.k8s.container.memory.limit @@ -496,6 +502,9 @@ groups: brief: "Maximum memory resource limit set for the container" note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + This metric SHOULD, at a minimum, be reported against a + [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "By" - id: metric.k8s.container.memory.request @@ -505,6 +514,9 @@ groups: brief: "Memory resource requested for the container" note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + This metric SHOULD, at a minimum, be reported against a + [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "By" - id: metric.k8s.container.storage.limit @@ -514,6 +526,9 @@ groups: brief: "Maximum storage resource limit set for the container" note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + This metric SHOULD, at a minimum, be reported against a + [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "By" - id: metric.k8s.container.storage.request @@ -523,6 +538,9 @@ groups: brief: "Storage resource requested for the container" note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + This metric SHOULD, at a minimum, be reported against a + [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "By" - id: metric.k8s.container.ephemeralstorage.limit @@ -532,6 +550,9 @@ groups: brief: "Maximum ephemeral storage resource limit set for the container" note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + This metric SHOULD, at a minimum, be reported against a + [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "By" - id: metric.k8s.container.ephemeralstorage.request @@ -541,5 +562,8 @@ groups: brief: "Ephemeral storage resource requested for the container" note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + + This metric SHOULD, at a minimum, be reported against a + [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "By" From c6552a94348eddde6c23df9b040a30becf6f9d56 Mon Sep 17 00:00:00 2001 From: ChrsMark Date: Mon, 28 Apr 2025 18:33:30 +0300 Subject: [PATCH 3/5] change to ephemeral_storage Signed-off-by: ChrsMark --- docs/non-normative/k8s-migration.md | 20 ++++++++++---------- docs/system/k8s-metrics.md | 16 ++++++++-------- model/k8s/metrics.yaml | 8 ++++---- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/docs/non-normative/k8s-migration.md b/docs/non-normative/k8s-migration.md index 79cc281f54..566c8034fb 100644 --- a/docs/non-normative/k8s-migration.md +++ b/docs/non-normative/k8s-migration.md @@ -295,15 +295,15 @@ The changes in their metrics are the following: -| Old (Collector) ![changed](https://img.shields.io/badge/changed-orange?style=flat) | New | -|------------------------------------------------------------------------------------|----------------------------------------| -| `k8s.container.cpu_limit` | `k8s.container.cpu.limit` | -| `k8s.container.cpu_request` | `k8s.container.cpu.request` | -| `k8s.container.memory_limit` | `k8s.container.memory.limit` | -| `k8s.container.memory_request` | `k8s.container.memory.request` | -| `k8s.container.storage_limit` | `k8s.container.storage.limit` | -| `k8s.container.storage_request` | `k8s.container.storage.request` | -| `k8s.container.ephemeralstorage_limit` | `k8s.container.ephemeralstorage.limit` | -| `k8s.container.ephemeralstorage_request` | `k8s.container.ephemeralstorage.request` | +| Old (Collector) ![changed](https://img.shields.io/badge/changed-orange?style=flat) | New | +|------------------------------------------------------------------------------------|-------------------------------------------| +| `k8s.container.cpu_limit` | `k8s.container.cpu.limit` | +| `k8s.container.cpu_request` | `k8s.container.cpu.request` | +| `k8s.container.memory_limit` | `k8s.container.memory.limit` | +| `k8s.container.memory_request` | `k8s.container.memory.request` | +| `k8s.container.storage_limit` | `k8s.container.storage.limit` | +| `k8s.container.storage_request` | `k8s.container.storage.request` | +| `k8s.container.ephemeralstorage_limit` | `k8s.container.ephemeral_storage.limit` | +| `k8s.container.ephemeralstorage_request` | `k8s.container.ephemeral_storage.request` | diff --git a/docs/system/k8s-metrics.md b/docs/system/k8s-metrics.md index 85f1d051f2..deb9c7ec0f 100644 --- a/docs/system/k8s-metrics.md +++ b/docs/system/k8s-metrics.md @@ -72,8 +72,8 @@ and therefore inherit its attributes, like `k8s.pod.name` and `k8s.pod.uid`. - [Metric: `k8s.container.memory.request`](#metric-k8scontainermemoryrequest) - [Metric: `k8s.container.storage.limit`](#metric-k8scontainerstoragelimit) - [Metric: `k8s.container.storage.request`](#metric-k8scontainerstoragerequest) - - [Metric: `k8s.container.ephemeralstorage.limit`](#metric-k8scontainerephemeralstoragelimit) - - [Metric: `k8s.container.ephemeralstorage.request`](#metric-k8scontainerephemeralstoragerequest) + - [Metric: `k8s.container.ephemeral_storage.limit`](#metric-k8scontainerephemeral_storagelimit) + - [Metric: `k8s.container.ephemeral_storage.request`](#metric-k8scontainerephemeral_storagerequest) @@ -1252,11 +1252,11 @@ This metric SHOULD, at a minimum, be reported against a -### Metric: `k8s.container.ephemeralstorage.limit` +### Metric: `k8s.container.ephemeral_storage.limit` This metric is [recommended][MetricRecommended]. - + @@ -1265,7 +1265,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | | -------- | --------------- | ----------- | -------------- | --------- | -| `k8s.container.ephemeralstorage.limit` | Gauge | `By` | Maximum ephemeral storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | +| `k8s.container.ephemeral_storage.limit` | Gauge | `By` | Maximum ephemeral storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1277,11 +1277,11 @@ This metric SHOULD, at a minimum, be reported against a -### Metric: `k8s.container.ephemeralstorage.request` +### Metric: `k8s.container.ephemeral_storage.request` This metric is [recommended][MetricRecommended]. - + @@ -1290,7 +1290,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | | -------- | --------------- | ----------- | -------------- | --------- | -| `k8s.container.ephemeralstorage.request` | Gauge | `By` | Ephemeral storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | +| `k8s.container.ephemeral_storage.request` | Gauge | `By` | Ephemeral storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. diff --git a/model/k8s/metrics.yaml b/model/k8s/metrics.yaml index 51c6fcd290..56a85d2365 100644 --- a/model/k8s/metrics.yaml +++ b/model/k8s/metrics.yaml @@ -543,9 +543,9 @@ groups: [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "By" - - id: metric.k8s.container.ephemeralstorage.limit + - id: metric.k8s.container.ephemeral_storage.limit type: metric - metric_name: k8s.container.ephemeralstorage.limit + metric_name: k8s.container.ephemeral_storage.limit stability: development brief: "Maximum ephemeral storage resource limit set for the container" note: | @@ -555,9 +555,9 @@ groups: [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "By" - - id: metric.k8s.container.ephemeralstorage.request + - id: metric.k8s.container.ephemeral_storage.request type: metric - metric_name: k8s.container.ephemeralstorage.request + metric_name: k8s.container.ephemeral_storage.request stability: development brief: "Ephemeral storage resource requested for the container" note: | From cbd3b7eefe6f73eeb28de90638815e4863c878ef Mon Sep 17 00:00:00 2001 From: ChrsMark Date: Thu, 29 May 2025 11:28:49 +0300 Subject: [PATCH 4/5] review comments Signed-off-by: ChrsMark --- docs/system/k8s-metrics.md | 24 ----------------------- model/k8s/metrics.yaml | 40 +++++++++++++++----------------------- 2 files changed, 16 insertions(+), 48 deletions(-) diff --git a/docs/system/k8s-metrics.md b/docs/system/k8s-metrics.md index deb9c7ec0f..7f2dfdf9f5 100644 --- a/docs/system/k8s-metrics.md +++ b/docs/system/k8s-metrics.md @@ -1119,9 +1119,6 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. -This metric SHOULD, at a minimum, be reported against a -[`k8s.container`](../resource/k8s.md#container) resource. - @@ -1144,9 +1141,6 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. -This metric SHOULD, at a minimum, be reported against a -[`k8s.container`](../resource/k8s.md#container) resource. - @@ -1169,9 +1163,6 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. -This metric SHOULD, at a minimum, be reported against a -[`k8s.container`](../resource/k8s.md#container) resource. - @@ -1194,9 +1185,6 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. -This metric SHOULD, at a minimum, be reported against a -[`k8s.container`](../resource/k8s.md#container) resource. - @@ -1219,9 +1207,6 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. -This metric SHOULD, at a minimum, be reported against a -[`k8s.container`](../resource/k8s.md#container) resource. - @@ -1244,9 +1229,6 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. -This metric SHOULD, at a minimum, be reported against a -[`k8s.container`](../resource/k8s.md#container) resource. - @@ -1269,9 +1251,6 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. -This metric SHOULD, at a minimum, be reported against a -[`k8s.container`](../resource/k8s.md#container) resource. - @@ -1294,9 +1273,6 @@ This metric is [recommended][MetricRecommended]. **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. -This metric SHOULD, at a minimum, be reported against a -[`k8s.container`](../resource/k8s.md#container) resource. - diff --git a/model/k8s/metrics.yaml b/model/k8s/metrics.yaml index 56a85d2365..4730cec887 100644 --- a/model/k8s/metrics.yaml +++ b/model/k8s/metrics.yaml @@ -476,11 +476,10 @@ groups: metric_name: k8s.container.cpu.limit stability: development brief: "Maximum CPU resource limit set for the container" + entity_associations: + - k8s.container note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. - - This metric SHOULD, at a minimum, be reported against a - [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "{cpu}" - id: metric.k8s.container.cpu.request @@ -488,11 +487,10 @@ groups: metric_name: k8s.container.cpu.request stability: development brief: "CPU resource requested for the container" + entity_associations: + - k8s.container note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. - - This metric SHOULD, at a minimum, be reported against a - [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "{cpu}" - id: metric.k8s.container.memory.limit @@ -500,11 +498,10 @@ groups: metric_name: k8s.container.memory.limit stability: development brief: "Maximum memory resource limit set for the container" + entity_associations: + - k8s.container note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. - - This metric SHOULD, at a minimum, be reported against a - [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "By" - id: metric.k8s.container.memory.request @@ -512,11 +509,10 @@ groups: metric_name: k8s.container.memory.request stability: development brief: "Memory resource requested for the container" + entity_associations: + - k8s.container note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. - - This metric SHOULD, at a minimum, be reported against a - [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "By" - id: metric.k8s.container.storage.limit @@ -524,11 +520,10 @@ groups: metric_name: k8s.container.storage.limit stability: development brief: "Maximum storage resource limit set for the container" + entity_associations: + - k8s.container note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. - - This metric SHOULD, at a minimum, be reported against a - [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "By" - id: metric.k8s.container.storage.request @@ -536,11 +531,10 @@ groups: metric_name: k8s.container.storage.request stability: development brief: "Storage resource requested for the container" + entity_associations: + - k8s.container note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. - - This metric SHOULD, at a minimum, be reported against a - [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "By" - id: metric.k8s.container.ephemeral_storage.limit @@ -548,11 +542,10 @@ groups: metric_name: k8s.container.ephemeral_storage.limit stability: development brief: "Maximum ephemeral storage resource limit set for the container" + entity_associations: + - k8s.container note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. - - This metric SHOULD, at a minimum, be reported against a - [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "By" - id: metric.k8s.container.ephemeral_storage.request @@ -560,10 +553,9 @@ groups: metric_name: k8s.container.ephemeral_storage.request stability: development brief: "Ephemeral storage resource requested for the container" + entity_associations: + - k8s.container note: | See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. - - This metric SHOULD, at a minimum, be reported against a - [`k8s.container`](../resource/k8s.md#container) resource. instrument: gauge unit: "By" From cbd8872a8b5f87230a02e94d358e8f158f1c58ae Mon Sep 17 00:00:00 2001 From: ChrsMark Date: Thu, 29 May 2025 12:33:46 +0300 Subject: [PATCH 5/5] fix md Signed-off-by: ChrsMark --- docs/system/k8s-metrics.md | 48 +++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/docs/system/k8s-metrics.md b/docs/system/k8s-metrics.md index 7f2dfdf9f5..dd3e2097e1 100644 --- a/docs/system/k8s-metrics.md +++ b/docs/system/k8s-metrics.md @@ -1113,9 +1113,9 @@ This metric is [recommended][MetricRecommended]. -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `k8s.container.cpu.limit` | Gauge | `{cpu}` | Maximum CPU resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | +| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | +| -------- | --------------- | ----------- | -------------- | --------- | ------ | +| `k8s.container.cpu.limit` | Gauge | `{cpu}` | Maximum CPU resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1135,9 +1135,9 @@ This metric is [recommended][MetricRecommended]. -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `k8s.container.cpu.request` | Gauge | `{cpu}` | CPU resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | +| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | +| -------- | --------------- | ----------- | -------------- | --------- | ------ | +| `k8s.container.cpu.request` | Gauge | `{cpu}` | CPU resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1157,9 +1157,9 @@ This metric is [recommended][MetricRecommended]. -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `k8s.container.memory.limit` | Gauge | `By` | Maximum memory resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | +| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | +| -------- | --------------- | ----------- | -------------- | --------- | ------ | +| `k8s.container.memory.limit` | Gauge | `By` | Maximum memory resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1179,9 +1179,9 @@ This metric is [recommended][MetricRecommended]. -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `k8s.container.memory.request` | Gauge | `By` | Memory resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | +| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | +| -------- | --------------- | ----------- | -------------- | --------- | ------ | +| `k8s.container.memory.request` | Gauge | `By` | Memory resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1201,9 +1201,9 @@ This metric is [recommended][MetricRecommended]. -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `k8s.container.storage.limit` | Gauge | `By` | Maximum storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | +| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | +| -------- | --------------- | ----------- | -------------- | --------- | ------ | +| `k8s.container.storage.limit` | Gauge | `By` | Maximum storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1223,9 +1223,9 @@ This metric is [recommended][MetricRecommended]. -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `k8s.container.storage.request` | Gauge | `By` | Storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | +| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | +| -------- | --------------- | ----------- | -------------- | --------- | ------ | +| `k8s.container.storage.request` | Gauge | `By` | Storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1245,9 +1245,9 @@ This metric is [recommended][MetricRecommended]. -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `k8s.container.ephemeral_storage.limit` | Gauge | `By` | Maximum ephemeral storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | +| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | +| -------- | --------------- | ----------- | -------------- | --------- | ------ | +| `k8s.container.ephemeral_storage.limit` | Gauge | `By` | Maximum ephemeral storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1267,9 +1267,9 @@ This metric is [recommended][MetricRecommended]. -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `k8s.container.ephemeral_storage.request` | Gauge | `By` | Ephemeral storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | +| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | +| -------- | --------------- | ----------- | -------------- | --------- | ------ | +| `k8s.container.ephemeral_storage.request` | Gauge | `By` | Ephemeral storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.