Add k8s Pod volume metrics (#2319)
Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
This commit is contained in:
parent
37d19be4c6
commit
bb0363a772
|
|
@ -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 Pod Volume 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: [1485]
|
||||||
|
|
||||||
|
# (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:
|
||||||
|
|
@ -62,6 +62,7 @@ and one for disabling the old schema called `semconv.k8s.disableLegacy`. Then:
|
||||||
- [K8s ResourceQuota metrics](#k8s-resourcequota-metrics)
|
- [K8s ResourceQuota metrics](#k8s-resourcequota-metrics)
|
||||||
- [K8s Node condition metrics](#k8s-node-condition-metrics)
|
- [K8s Node condition metrics](#k8s-node-condition-metrics)
|
||||||
- [K8s Filesystem metrics](#k8s-filesystem-metrics)
|
- [K8s Filesystem metrics](#k8s-filesystem-metrics)
|
||||||
|
- [K8s Pod Volume metrics](#k8s-pod-volume-metrics)
|
||||||
|
|
||||||
<!-- tocstop -->
|
<!-- tocstop -->
|
||||||
|
|
||||||
|
|
@ -396,3 +397,24 @@ The changes in their metrics are the following:
|
||||||
| `container.filesystem.usage` gauge | `container.filesystem.usage` updowncounter |
|
| `container.filesystem.usage` gauge | `container.filesystem.usage` updowncounter |
|
||||||
|
|
||||||
<!-- prettier-ignore-end -->
|
<!-- prettier-ignore-end -->
|
||||||
|
|
||||||
|
### K8s Pod Volume metrics
|
||||||
|
|
||||||
|
The K8s Pod volume metrics implemented by the Collector and specifically the
|
||||||
|
[k8scluster](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.119.0/receiver/k8sclusterreceiver/documentation.md)
|
||||||
|
receiver were introduced as semantic conventions in
|
||||||
|
[#2319](https://github.com/open-telemetry/semantic-conventions/pull/2319).
|
||||||
|
|
||||||
|
The changes in these metrics are the following:
|
||||||
|
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
|
||||||
|
| Old (Collector)  | New |
|
||||||
|
|------------------------------------------------------------------------------------|------------------------------|
|
||||||
|
| `k8s.volume.available` | `k8s.pod.volume.available` |
|
||||||
|
| `k8s.volume.capacity` | `k8s.pod.volume.capacity` |
|
||||||
|
| `k8s.volume.inodes` | `k8s.pod.volume.inode.count` |
|
||||||
|
| `k8s.volume.inodes.free` | `k8s.pod.volume.inode.free` |
|
||||||
|
| `k8s.volume.inodes.used` | `k8s.pod.volume.inode.used` |
|
||||||
|
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,12 @@ and therefore inherit its attributes, like `k8s.pod.name` and `k8s.pod.uid`.
|
||||||
- [Metric: `k8s.pod.filesystem.available`](#metric-k8spodfilesystemavailable)
|
- [Metric: `k8s.pod.filesystem.available`](#metric-k8spodfilesystemavailable)
|
||||||
- [Metric: `k8s.pod.filesystem.capacity`](#metric-k8spodfilesystemcapacity)
|
- [Metric: `k8s.pod.filesystem.capacity`](#metric-k8spodfilesystemcapacity)
|
||||||
- [Metric: `k8s.pod.filesystem.usage`](#metric-k8spodfilesystemusage)
|
- [Metric: `k8s.pod.filesystem.usage`](#metric-k8spodfilesystemusage)
|
||||||
|
- [Metric: `k8s.pod.volume.available`](#metric-k8spodvolumeavailable)
|
||||||
|
- [Metric: `k8s.pod.volume.capacity`](#metric-k8spodvolumecapacity)
|
||||||
|
- [Metric: `k8s.pod.volume.usage`](#metric-k8spodvolumeusage)
|
||||||
|
- [Metric: `k8s.pod.volume.inode.count`](#metric-k8spodvolumeinodecount)
|
||||||
|
- [Metric: `k8s.pod.volume.inode.used`](#metric-k8spodvolumeinodeused)
|
||||||
|
- [Metric: `k8s.pod.volume.inode.free`](#metric-k8spodvolumeinodefree)
|
||||||
- [Container metrics](#container-metrics)
|
- [Container metrics](#container-metrics)
|
||||||
- [Metric: `k8s.container.status.state`](#metric-k8scontainerstatusstate)
|
- [Metric: `k8s.container.status.state`](#metric-k8scontainerstatusstate)
|
||||||
- [Metric: `k8s.container.status.reason`](#metric-k8scontainerstatusreason)
|
- [Metric: `k8s.container.status.reason`](#metric-k8scontainerstatusreason)
|
||||||
|
|
@ -355,6 +361,268 @@ of the Kubelet's stats API.
|
||||||
<!-- END AUTOGENERATED TEXT -->
|
<!-- END AUTOGENERATED TEXT -->
|
||||||
<!-- endsemconv -->
|
<!-- endsemconv -->
|
||||||
|
|
||||||
|
### Metric: `k8s.pod.volume.available`
|
||||||
|
|
||||||
|
This metric is [recommended][MetricRecommended].
|
||||||
|
|
||||||
|
<!-- semconv metric.k8s.pod.volume.available -->
|
||||||
|
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
|
||||||
|
<!-- see templates/registry/markdown/snippet.md.j2 -->
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
<!-- markdownlint-capture -->
|
||||||
|
<!-- markdownlint-disable -->
|
||||||
|
|
||||||
|
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|
||||||
|
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
|
||||||
|
| `k8s.pod.volume.available` | UpDownCounter | `By` | Pod volume storage space available [1] |  | [`k8s.pod`](/docs/registry/entities/k8s.md#k8s-pod) |
|
||||||
|
|
||||||
|
**[1]:** This metric is derived from the
|
||||||
|
[VolumeStats.AvailableBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#VolumeStats) field
|
||||||
|
of the [PodStats](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats) of the
|
||||||
|
Kubelet's stats API.
|
||||||
|
|
||||||
|
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|
||||||
|
|---|---|---|---|---|---|
|
||||||
|
| [`k8s.volume.name`](/docs/registry/attributes/k8s.md) | string | The name of the K8s volume. | `volume0` | `Required` |  |
|
||||||
|
| [`k8s.volume.type`](/docs/registry/attributes/k8s.md) | string | The type of the K8s volume. | `emptyDir`; `persistentVolumeClaim` | `Recommended` |  |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
`k8s.volume.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
|
||||||
|
|
||||||
|
| Value | Description | Stability |
|
||||||
|
|---|---|---|
|
||||||
|
| `configMap` | A [configMap](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#configmap) volume |  |
|
||||||
|
| `downwardAPI` | A [downwardAPI](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#downwardapi) volume |  |
|
||||||
|
| `emptyDir` | An [emptyDir](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#emptydir) volume |  |
|
||||||
|
| `local` | A [local](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#local) volume |  |
|
||||||
|
| `persistentVolumeClaim` | A [persistentVolumeClaim](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#persistentvolumeclaim) volume |  |
|
||||||
|
| `secret` | A [secret](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#secret) volume |  |
|
||||||
|
|
||||||
|
<!-- markdownlint-restore -->
|
||||||
|
<!-- prettier-ignore-end -->
|
||||||
|
<!-- END AUTOGENERATED TEXT -->
|
||||||
|
<!-- endsemconv -->
|
||||||
|
|
||||||
|
### Metric: `k8s.pod.volume.capacity`
|
||||||
|
|
||||||
|
This metric is [recommended][MetricRecommended].
|
||||||
|
|
||||||
|
<!-- semconv metric.k8s.pod.volume.capacity -->
|
||||||
|
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
|
||||||
|
<!-- see templates/registry/markdown/snippet.md.j2 -->
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
<!-- markdownlint-capture -->
|
||||||
|
<!-- markdownlint-disable -->
|
||||||
|
|
||||||
|
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|
||||||
|
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
|
||||||
|
| `k8s.pod.volume.capacity` | UpDownCounter | `By` | Pod volume total capacity [1] |  | [`k8s.pod`](/docs/registry/entities/k8s.md#k8s-pod) |
|
||||||
|
|
||||||
|
**[1]:** This metric is derived from the
|
||||||
|
[VolumeStats.CapacityBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#VolumeStats) field
|
||||||
|
of the [PodStats](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats) of the
|
||||||
|
Kubelet's stats API.
|
||||||
|
|
||||||
|
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|
||||||
|
|---|---|---|---|---|---|
|
||||||
|
| [`k8s.volume.name`](/docs/registry/attributes/k8s.md) | string | The name of the K8s volume. | `volume0` | `Required` |  |
|
||||||
|
| [`k8s.volume.type`](/docs/registry/attributes/k8s.md) | string | The type of the K8s volume. | `emptyDir`; `persistentVolumeClaim` | `Recommended` |  |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
`k8s.volume.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
|
||||||
|
|
||||||
|
| Value | Description | Stability |
|
||||||
|
|---|---|---|
|
||||||
|
| `configMap` | A [configMap](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#configmap) volume |  |
|
||||||
|
| `downwardAPI` | A [downwardAPI](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#downwardapi) volume |  |
|
||||||
|
| `emptyDir` | An [emptyDir](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#emptydir) volume |  |
|
||||||
|
| `local` | A [local](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#local) volume |  |
|
||||||
|
| `persistentVolumeClaim` | A [persistentVolumeClaim](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#persistentvolumeclaim) volume |  |
|
||||||
|
| `secret` | A [secret](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#secret) volume |  |
|
||||||
|
|
||||||
|
<!-- markdownlint-restore -->
|
||||||
|
<!-- prettier-ignore-end -->
|
||||||
|
<!-- END AUTOGENERATED TEXT -->
|
||||||
|
<!-- endsemconv -->
|
||||||
|
|
||||||
|
### Metric: `k8s.pod.volume.usage`
|
||||||
|
|
||||||
|
This metric is [recommended][MetricRecommended].
|
||||||
|
|
||||||
|
<!-- semconv metric.k8s.pod.volume.usage -->
|
||||||
|
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
|
||||||
|
<!-- see templates/registry/markdown/snippet.md.j2 -->
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
<!-- markdownlint-capture -->
|
||||||
|
<!-- markdownlint-disable -->
|
||||||
|
|
||||||
|
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|
||||||
|
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
|
||||||
|
| `k8s.pod.volume.usage` | UpDownCounter | `By` | Pod volume usage [1] |  | [`k8s.pod`](/docs/registry/entities/k8s.md#k8s-pod) |
|
||||||
|
|
||||||
|
**[1]:** This may not equal capacity - available.
|
||||||
|
|
||||||
|
This metric is derived from the
|
||||||
|
[VolumeStats.UsedBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#VolumeStats) field
|
||||||
|
of the [PodStats](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats) of the
|
||||||
|
Kubelet's stats API.
|
||||||
|
|
||||||
|
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|
||||||
|
|---|---|---|---|---|---|
|
||||||
|
| [`k8s.volume.name`](/docs/registry/attributes/k8s.md) | string | The name of the K8s volume. | `volume0` | `Required` |  |
|
||||||
|
| [`k8s.volume.type`](/docs/registry/attributes/k8s.md) | string | The type of the K8s volume. | `emptyDir`; `persistentVolumeClaim` | `Recommended` |  |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
`k8s.volume.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
|
||||||
|
|
||||||
|
| Value | Description | Stability |
|
||||||
|
|---|---|---|
|
||||||
|
| `configMap` | A [configMap](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#configmap) volume |  |
|
||||||
|
| `downwardAPI` | A [downwardAPI](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#downwardapi) volume |  |
|
||||||
|
| `emptyDir` | An [emptyDir](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#emptydir) volume |  |
|
||||||
|
| `local` | A [local](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#local) volume |  |
|
||||||
|
| `persistentVolumeClaim` | A [persistentVolumeClaim](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#persistentvolumeclaim) volume |  |
|
||||||
|
| `secret` | A [secret](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#secret) volume |  |
|
||||||
|
|
||||||
|
<!-- markdownlint-restore -->
|
||||||
|
<!-- prettier-ignore-end -->
|
||||||
|
<!-- END AUTOGENERATED TEXT -->
|
||||||
|
<!-- endsemconv -->
|
||||||
|
|
||||||
|
### Metric: `k8s.pod.volume.inode.count`
|
||||||
|
|
||||||
|
This metric is [recommended][MetricRecommended].
|
||||||
|
|
||||||
|
<!-- semconv metric.k8s.pod.volume.inode.count -->
|
||||||
|
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
|
||||||
|
<!-- see templates/registry/markdown/snippet.md.j2 -->
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
<!-- markdownlint-capture -->
|
||||||
|
<!-- markdownlint-disable -->
|
||||||
|
|
||||||
|
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|
||||||
|
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
|
||||||
|
| `k8s.pod.volume.inode.count` | UpDownCounter | `{inode}` | The total inodes in the filesystem of the Pod's volume [1] |  | [`k8s.pod`](/docs/registry/entities/k8s.md#k8s-pod) |
|
||||||
|
|
||||||
|
**[1]:** This metric is derived from the
|
||||||
|
[VolumeStats.Inodes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#VolumeStats) field
|
||||||
|
of the [PodStats](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats) of the
|
||||||
|
Kubelet's stats API.
|
||||||
|
|
||||||
|
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|
||||||
|
|---|---|---|---|---|---|
|
||||||
|
| [`k8s.volume.name`](/docs/registry/attributes/k8s.md) | string | The name of the K8s volume. | `volume0` | `Required` |  |
|
||||||
|
| [`k8s.volume.type`](/docs/registry/attributes/k8s.md) | string | The type of the K8s volume. | `emptyDir`; `persistentVolumeClaim` | `Recommended` |  |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
`k8s.volume.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
|
||||||
|
|
||||||
|
| Value | Description | Stability |
|
||||||
|
|---|---|---|
|
||||||
|
| `configMap` | A [configMap](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#configmap) volume |  |
|
||||||
|
| `downwardAPI` | A [downwardAPI](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#downwardapi) volume |  |
|
||||||
|
| `emptyDir` | An [emptyDir](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#emptydir) volume |  |
|
||||||
|
| `local` | A [local](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#local) volume |  |
|
||||||
|
| `persistentVolumeClaim` | A [persistentVolumeClaim](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#persistentvolumeclaim) volume |  |
|
||||||
|
| `secret` | A [secret](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#secret) volume |  |
|
||||||
|
|
||||||
|
<!-- markdownlint-restore -->
|
||||||
|
<!-- prettier-ignore-end -->
|
||||||
|
<!-- END AUTOGENERATED TEXT -->
|
||||||
|
<!-- endsemconv -->
|
||||||
|
|
||||||
|
### Metric: `k8s.pod.volume.inode.used`
|
||||||
|
|
||||||
|
This metric is [recommended][MetricRecommended].
|
||||||
|
|
||||||
|
<!-- semconv metric.k8s.pod.volume.inode.used -->
|
||||||
|
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
|
||||||
|
<!-- see templates/registry/markdown/snippet.md.j2 -->
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
<!-- markdownlint-capture -->
|
||||||
|
<!-- markdownlint-disable -->
|
||||||
|
|
||||||
|
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|
||||||
|
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
|
||||||
|
| `k8s.pod.volume.inode.used` | UpDownCounter | `{inode}` | The inodes used by the filesystem of the Pod's volume [1] |  | [`k8s.pod`](/docs/registry/entities/k8s.md#k8s-pod) |
|
||||||
|
|
||||||
|
**[1]:** This metric is derived from the
|
||||||
|
[VolumeStats.InodesUsed](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#VolumeStats) field
|
||||||
|
of the [PodStats](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats) of the
|
||||||
|
Kubelet's stats API.
|
||||||
|
|
||||||
|
This may not be equal to `inodes - free` because filesystem may share inodes with other filesystems.
|
||||||
|
|
||||||
|
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|
||||||
|
|---|---|---|---|---|---|
|
||||||
|
| [`k8s.volume.name`](/docs/registry/attributes/k8s.md) | string | The name of the K8s volume. | `volume0` | `Required` |  |
|
||||||
|
| [`k8s.volume.type`](/docs/registry/attributes/k8s.md) | string | The type of the K8s volume. | `emptyDir`; `persistentVolumeClaim` | `Recommended` |  |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
`k8s.volume.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
|
||||||
|
|
||||||
|
| Value | Description | Stability |
|
||||||
|
|---|---|---|
|
||||||
|
| `configMap` | A [configMap](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#configmap) volume |  |
|
||||||
|
| `downwardAPI` | A [downwardAPI](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#downwardapi) volume |  |
|
||||||
|
| `emptyDir` | An [emptyDir](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#emptydir) volume |  |
|
||||||
|
| `local` | A [local](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#local) volume |  |
|
||||||
|
| `persistentVolumeClaim` | A [persistentVolumeClaim](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#persistentvolumeclaim) volume |  |
|
||||||
|
| `secret` | A [secret](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#secret) volume |  |
|
||||||
|
|
||||||
|
<!-- markdownlint-restore -->
|
||||||
|
<!-- prettier-ignore-end -->
|
||||||
|
<!-- END AUTOGENERATED TEXT -->
|
||||||
|
<!-- endsemconv -->
|
||||||
|
|
||||||
|
### Metric: `k8s.pod.volume.inode.free`
|
||||||
|
|
||||||
|
This metric is [recommended][MetricRecommended].
|
||||||
|
|
||||||
|
<!-- semconv metric.k8s.pod.volume.inode.free -->
|
||||||
|
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
|
||||||
|
<!-- see templates/registry/markdown/snippet.md.j2 -->
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
<!-- markdownlint-capture -->
|
||||||
|
<!-- markdownlint-disable -->
|
||||||
|
|
||||||
|
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|
||||||
|
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
|
||||||
|
| `k8s.pod.volume.inode.free` | UpDownCounter | `{inode}` | The free inodes in the filesystem of the Pod's volume [1] |  | [`k8s.pod`](/docs/registry/entities/k8s.md#k8s-pod) |
|
||||||
|
|
||||||
|
**[1]:** This metric is derived from the
|
||||||
|
[VolumeStats.InodesFree](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#VolumeStats) field
|
||||||
|
of the [PodStats](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats) of the
|
||||||
|
Kubelet's stats API.
|
||||||
|
|
||||||
|
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|
||||||
|
|---|---|---|---|---|---|
|
||||||
|
| [`k8s.volume.name`](/docs/registry/attributes/k8s.md) | string | The name of the K8s volume. | `volume0` | `Required` |  |
|
||||||
|
| [`k8s.volume.type`](/docs/registry/attributes/k8s.md) | string | The type of the K8s volume. | `emptyDir`; `persistentVolumeClaim` | `Recommended` |  |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
`k8s.volume.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
|
||||||
|
|
||||||
|
| Value | Description | Stability |
|
||||||
|
|---|---|---|
|
||||||
|
| `configMap` | A [configMap](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#configmap) volume |  |
|
||||||
|
| `downwardAPI` | A [downwardAPI](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#downwardapi) volume |  |
|
||||||
|
| `emptyDir` | An [emptyDir](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#emptydir) volume |  |
|
||||||
|
| `local` | A [local](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#local) volume |  |
|
||||||
|
| `persistentVolumeClaim` | A [persistentVolumeClaim](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#persistentvolumeclaim) volume |  |
|
||||||
|
| `secret` | A [secret](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#secret) volume |  |
|
||||||
|
|
||||||
|
<!-- markdownlint-restore -->
|
||||||
|
<!-- prettier-ignore-end -->
|
||||||
|
<!-- END AUTOGENERATED TEXT -->
|
||||||
|
<!-- endsemconv -->
|
||||||
|
|
||||||
## Container metrics
|
## Container metrics
|
||||||
|
|
||||||
**Description:** Container level metrics captured under the namespace `k8s.container`.
|
**Description:** Container level metrics captured under the namespace `k8s.container`.
|
||||||
|
|
|
||||||
|
|
@ -146,6 +146,144 @@ groups:
|
||||||
of the [PodStats.EphemeralStorage](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats)
|
of the [PodStats.EphemeralStorage](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats)
|
||||||
of the Kubelet's stats API.
|
of the Kubelet's stats API.
|
||||||
|
|
||||||
|
# k8s.pod.volume.* metrics
|
||||||
|
- id: metric.k8s.pod.volume.available
|
||||||
|
type: metric
|
||||||
|
metric_name: k8s.pod.volume.available
|
||||||
|
stability: development
|
||||||
|
annotations:
|
||||||
|
code_generation:
|
||||||
|
metric_value_type: int
|
||||||
|
brief: "Pod volume storage space available"
|
||||||
|
instrument: updowncounter
|
||||||
|
unit: "By"
|
||||||
|
entity_associations:
|
||||||
|
- k8s.pod
|
||||||
|
note: |
|
||||||
|
This metric is derived from the
|
||||||
|
[VolumeStats.AvailableBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#VolumeStats) field
|
||||||
|
of the [PodStats](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats) of the
|
||||||
|
Kubelet's stats API.
|
||||||
|
attributes:
|
||||||
|
- ref: k8s.volume.name
|
||||||
|
requirement_level: required
|
||||||
|
- ref: k8s.volume.type
|
||||||
|
requirement_level: recommended
|
||||||
|
- id: metric.k8s.pod.volume.capacity
|
||||||
|
type: metric
|
||||||
|
metric_name: k8s.pod.volume.capacity
|
||||||
|
stability: development
|
||||||
|
brief: "Pod volume total capacity"
|
||||||
|
instrument: updowncounter
|
||||||
|
annotations:
|
||||||
|
code_generation:
|
||||||
|
metric_value_type: int
|
||||||
|
unit: "By"
|
||||||
|
entity_associations:
|
||||||
|
- k8s.pod
|
||||||
|
note: |
|
||||||
|
This metric is derived from the
|
||||||
|
[VolumeStats.CapacityBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#VolumeStats) field
|
||||||
|
of the [PodStats](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats) of the
|
||||||
|
Kubelet's stats API.
|
||||||
|
attributes:
|
||||||
|
- ref: k8s.volume.name
|
||||||
|
requirement_level: required
|
||||||
|
- ref: k8s.volume.type
|
||||||
|
requirement_level: recommended
|
||||||
|
- id: metric.k8s.pod.volume.usage
|
||||||
|
type: metric
|
||||||
|
metric_name: k8s.pod.volume.usage
|
||||||
|
stability: development
|
||||||
|
brief: "Pod volume usage"
|
||||||
|
instrument: updowncounter
|
||||||
|
annotations:
|
||||||
|
code_generation:
|
||||||
|
metric_value_type: int
|
||||||
|
unit: "By"
|
||||||
|
entity_associations:
|
||||||
|
- k8s.pod
|
||||||
|
note: |
|
||||||
|
This may not equal capacity - available.
|
||||||
|
|
||||||
|
This metric is derived from the
|
||||||
|
[VolumeStats.UsedBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#VolumeStats) field
|
||||||
|
of the [PodStats](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats) of the
|
||||||
|
Kubelet's stats API.
|
||||||
|
attributes:
|
||||||
|
- ref: k8s.volume.name
|
||||||
|
requirement_level: required
|
||||||
|
- ref: k8s.volume.type
|
||||||
|
requirement_level: recommended
|
||||||
|
- id: metric.k8s.pod.volume.inode.count
|
||||||
|
type: metric
|
||||||
|
metric_name: k8s.pod.volume.inode.count
|
||||||
|
stability: development
|
||||||
|
brief: "The total inodes in the filesystem of the Pod's volume"
|
||||||
|
instrument: updowncounter
|
||||||
|
annotations:
|
||||||
|
code_generation:
|
||||||
|
metric_value_type: int
|
||||||
|
unit: "{inode}"
|
||||||
|
entity_associations:
|
||||||
|
- k8s.pod
|
||||||
|
note: |
|
||||||
|
This metric is derived from the
|
||||||
|
[VolumeStats.Inodes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#VolumeStats) field
|
||||||
|
of the [PodStats](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats) of the
|
||||||
|
Kubelet's stats API.
|
||||||
|
attributes:
|
||||||
|
- ref: k8s.volume.name
|
||||||
|
requirement_level: required
|
||||||
|
- ref: k8s.volume.type
|
||||||
|
requirement_level: recommended
|
||||||
|
- id: metric.k8s.pod.volume.inode.used
|
||||||
|
type: metric
|
||||||
|
metric_name: k8s.pod.volume.inode.used
|
||||||
|
stability: development
|
||||||
|
brief: "The inodes used by the filesystem of the Pod's volume"
|
||||||
|
instrument: updowncounter
|
||||||
|
annotations:
|
||||||
|
code_generation:
|
||||||
|
metric_value_type: int
|
||||||
|
unit: "{inode}"
|
||||||
|
entity_associations:
|
||||||
|
- k8s.pod
|
||||||
|
note: |
|
||||||
|
This metric is derived from the
|
||||||
|
[VolumeStats.InodesUsed](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#VolumeStats) field
|
||||||
|
of the [PodStats](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats) of the
|
||||||
|
Kubelet's stats API.
|
||||||
|
|
||||||
|
This may not be equal to `inodes - free` because filesystem may share inodes with other filesystems.
|
||||||
|
attributes:
|
||||||
|
- ref: k8s.volume.name
|
||||||
|
requirement_level: required
|
||||||
|
- ref: k8s.volume.type
|
||||||
|
requirement_level: recommended
|
||||||
|
- id: metric.k8s.pod.volume.inode.free
|
||||||
|
type: metric
|
||||||
|
metric_name: k8s.pod.volume.inode.free
|
||||||
|
stability: development
|
||||||
|
brief: "The free inodes in the filesystem of the Pod's volume"
|
||||||
|
instrument: updowncounter
|
||||||
|
annotations:
|
||||||
|
code_generation:
|
||||||
|
metric_value_type: int
|
||||||
|
unit: "{inode}"
|
||||||
|
entity_associations:
|
||||||
|
- k8s.pod
|
||||||
|
note: |
|
||||||
|
This metric is derived from the
|
||||||
|
[VolumeStats.InodesFree](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#VolumeStats) field
|
||||||
|
of the [PodStats](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats) of the
|
||||||
|
Kubelet's stats API.
|
||||||
|
attributes:
|
||||||
|
- ref: k8s.volume.name
|
||||||
|
requirement_level: required
|
||||||
|
- ref: k8s.volume.type
|
||||||
|
requirement_level: recommended
|
||||||
|
|
||||||
# k8s.container.* metrics
|
# k8s.container.* metrics
|
||||||
- id: metric.k8s.container.status.state
|
- id: metric.k8s.container.status.state
|
||||||
type: metric
|
type: metric
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue