semantic-conventions/model/k8s/metrics.yaml

562 lines
22 KiB
YAML

groups:
# k8s.pod.* metrics
- id: metric.k8s.pod.uptime
type: metric
metric_name: k8s.pod.uptime
stability: development
brief: "The time the Pod has been running"
note: |
Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available.
The actual accuracy would depend on the instrumentation and operating system.
instrument: gauge
unit: "s"
# k8s.pod.cpu.* metrics
- id: metric.k8s.pod.cpu.time
type: metric
metric_name: k8s.pod.cpu.time
stability: development
brief: "Total CPU time consumed"
note: >
Total CPU time consumed by the specific Pod on all available CPU cores
instrument: counter
unit: "s"
- id: metric.k8s.pod.cpu.usage
type: metric
metric_name: k8s.pod.cpu.usage
stability: development
brief: "Pod's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs"
note: >
CPU usage of the specific Pod on all available CPU cores, averaged over the sample window
instrument: gauge
unit: "{cpu}"
# k8s.pod.memory.* metrics
- id: metric.k8s.pod.memory.usage
type: metric
metric_name: k8s.pod.memory.usage
stability: development
brief: "Memory usage of the Pod"
note: >
Total memory usage of the Pod
instrument: gauge
unit: "By"
# k8s.pod.network.* metrics
- id: metric.k8s.pod.network.io
type: metric
metric_name: k8s.pod.network.io
stability: development
brief: "Network bytes for the Pod"
instrument: counter
unit: "By"
attributes:
- ref: network.interface.name
- ref: network.io.direction
- id: metric.k8s.pod.network.errors
type: metric
metric_name: k8s.pod.network.errors
stability: development
brief: "Pod network errors"
instrument: counter
unit: "{error}"
attributes:
- ref: network.interface.name
- ref: network.io.direction
# k8s.node.* metrics
- id: metric.k8s.node.uptime
type: metric
metric_name: k8s.node.uptime
stability: development
brief: "The time the Node has been running"
note: |
Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available.
The actual accuracy would depend on the instrumentation and operating system.
instrument: gauge
unit: "s"
# k8s.node.cpu.* metrics
- id: metric.k8s.node.cpu.time
type: metric
metric_name: k8s.node.cpu.time
stability: development
brief: "Total CPU time consumed"
note: >
Total CPU time consumed by the specific Node on all available CPU cores
instrument: counter
unit: "s"
- id: metric.k8s.node.cpu.usage
type: metric
metric_name: k8s.node.cpu.usage
stability: development
brief: "Node's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs"
note: >
CPU usage of the specific Node on all available CPU cores, averaged over the sample window
instrument: gauge
unit: "{cpu}"
# k8s.node.memory.* metrics
- id: metric.k8s.node.memory.usage
type: metric
metric_name: k8s.node.memory.usage
stability: development
brief: "Memory usage of the Node"
note: >
Total memory usage of the Node
instrument: gauge
unit: "By"
# k8s.node.network.* metrics
- id: metric.k8s.node.network.io
type: metric
metric_name: k8s.node.network.io
stability: development
brief: "Network bytes for the Node"
instrument: counter
unit: "By"
attributes:
- ref: network.interface.name
- ref: network.io.direction
- id: metric.k8s.node.network.errors
type: metric
metric_name: k8s.node.network.errors
stability: development
brief: "Node network errors"
instrument: counter
unit: "{error}"
attributes:
- ref: network.interface.name
- ref: network.io.direction
# k8s.deployment.* metrics
- id: metric.k8s.deployment.desired_pods
type: metric
metric_name: k8s.deployment.desired_pods
stability: development
brief: "Number of desired replica pods in this deployment"
note: |
This metric aligns with the `replicas` field of the
[K8s DeploymentSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentspec-v1-apps).
This metric SHOULD, at a minimum, be reported against a
[`k8s.deployment`](../resource/k8s.md#deployment) resource.
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.deployment.available_pods
type: metric
metric_name: k8s.deployment.available_pods
stability: development
brief: "Total number of available replica pods (ready for at least minReadySeconds) targeted by this deployment"
note: |
This metric aligns with the `availableReplicas` field of the
[K8s DeploymentStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentstatus-v1-apps).
This metric SHOULD, at a minimum, be reported against a
[`k8s.deployment`](../resource/k8s.md#deployment) resource.
instrument: updowncounter
unit: "{pod}"
# k8s.replicaset.* metrics
- id: metric.k8s.replicaset.desired_pods
type: metric
metric_name: k8s.replicaset.desired_pods
stability: development
brief: "Number of desired replica pods in this replicaset"
note: |
This metric aligns with the `replicas` field of the
[K8s ReplicaSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicasetspec-v1-apps).
This metric SHOULD, at a minimum, be reported against a
[`k8s.replicaset`](../resource/k8s.md#replicaset) resource.
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.replicaset.available_pods
type: metric
metric_name: k8s.replicaset.available_pods
stability: development
brief: "Total number of available replica pods (ready for at least minReadySeconds) targeted by this replicaset"
note: |
This metric aligns with the `availableReplicas` field of the
[K8s ReplicaSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicasetstatus-v1-apps).
This metric SHOULD, at a minimum, be reported against a
[`k8s.replicaset`](../resource/k8s.md#replicaset) resource.
instrument: updowncounter
unit: "{pod}"
# k8s.replicationcontroller.* metrics
- id: metric.k8s.replicationcontroller.desired_pods
type: metric
metric_name: k8s.replicationcontroller.desired_pods
stability: development
brief: "Number of desired replica pods in this replication controller"
note: |
This metric aligns with the `replicas` field of the
[K8s ReplicationControllerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerspec-v1-core)
This metric SHOULD, at a minimum, be reported against a
[`k8s.replicationcontroller`](../resource/k8s.md#replicationcontroller) resource.
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.replicationcontroller.available_pods
type: metric
metric_name: k8s.replicationcontroller.available_pods
stability: development
brief: "Total number of available replica pods (ready for at least minReadySeconds) targeted by this replication controller"
note: |
This metric aligns with the `availableReplicas` field of the
[K8s ReplicationControllerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerstatus-v1-core)
This metric SHOULD, at a minimum, be reported against a
[`k8s.replicationcontroller`](../resource/k8s.md#replicationcontroller) resource.
instrument: updowncounter
unit: "{pod}"
# k8s.statefulset.* metrics
- id: metric.k8s.statefulset.desired_pods
type: metric
metric_name: k8s.statefulset.desired_pods
stability: development
brief: "Number of desired replica pods in this statefulset"
note: |
This metric aligns with the `replicas` field of the
[K8s StatefulSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetspec-v1-apps).
This metric SHOULD, at a minimum, be reported against a
[`k8s.statefulset`](../resource/k8s.md#statefulset) resource.
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.statefulset.ready_pods
type: metric
metric_name: k8s.statefulset.ready_pods
stability: development
brief: "The number of replica pods created for this statefulset with a Ready Condition"
note: |
This metric aligns with the `readyReplicas` field of the
[K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps).
This metric SHOULD, at a minimum, be reported against a
[`k8s.statefulset`](../resource/k8s.md#statefulset) resource.
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.statefulset.current_pods
type: metric
metric_name: k8s.statefulset.current_pods
stability: development
brief: "The number of replica pods created by the statefulset controller from the statefulset version indicated by currentRevision"
note: |
This metric aligns with the `currentReplicas` field of the
[K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps).
This metric SHOULD, at a minimum, be reported against a
[`k8s.statefulset`](../resource/k8s.md#statefulset) resource.
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.statefulset.updated_pods
type: metric
metric_name: k8s.statefulset.updated_pods
stability: development
brief: "Number of replica pods created by the statefulset controller from the statefulset version indicated by updateRevision"
note: |
This metric aligns with the `updatedReplicas` field of the
[K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps).
This metric SHOULD, at a minimum, be reported against a
[`k8s.statefulset`](../resource/k8s.md#statefulset) resource.
instrument: updowncounter
unit: "{pod}"
# k8s.hpa.* metrics
- id: metric.k8s.hpa.desired_pods
type: metric
metric_name: k8s.hpa.desired_pods
stability: development
brief: "Desired number of replica pods managed by this horizontal pod autoscaler, as last calculated by the autoscaler"
note: |
This metric aligns with the `desiredReplicas` field of the
[K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerstatus-v2-autoscaling)
This metric SHOULD, at a minimum, be reported against a
[`k8s.hpa`](../resource/k8s.md#horizontalpodautoscaler) resource.
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.hpa.current_pods
type: metric
metric_name: k8s.hpa.current_pods
stability: development
brief: "Current number of replica pods managed by this horizontal pod autoscaler, as last seen by the autoscaler"
note: |
This metric aligns with the `currentReplicas` field of the
[K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerstatus-v2-autoscaling)
This metric SHOULD, at a minimum, be reported against a
[`k8s.hpa`](../resource/k8s.md#horizontalpodautoscaler) resource.
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.hpa.max_pods
type: metric
metric_name: k8s.hpa.max_pods
stability: development
brief: "The upper limit for the number of replica pods to which the autoscaler can scale up"
note: |
This metric aligns with the `maxReplicas` field of the
[K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerspec-v2-autoscaling)
This metric SHOULD, at a minimum, be reported against a
[`k8s.hpa`](../resource/k8s.md#horizontalpodautoscaler) resource.
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.hpa.min_pods
type: metric
metric_name: k8s.hpa.min_pods
stability: development
brief: "The lower limit for the number of replica pods to which the autoscaler can scale down"
note: |
This metric aligns with the `minReplicas` field of the
[K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerspec-v2-autoscaling)
This metric SHOULD, at a minimum, be reported against a
[`k8s.hpa`](../resource/k8s.md#horizontalpodautoscaler) resource.
instrument: updowncounter
unit: "{pod}"
# k8s.daemonset.* metrics
- id: metric.k8s.daemonset.current_scheduled_nodes
type: metric
metric_name: k8s.daemonset.current_scheduled_nodes
stability: development
brief: "Number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod"
note: |
This metric aligns with the `currentNumberScheduled` field of the
[K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
This metric SHOULD, at a minimum, be reported against a
[`k8s.daemonset`](../resource/k8s.md#daemonset) resource.
instrument: updowncounter
unit: "{node}"
- id: metric.k8s.daemonset.desired_scheduled_nodes
type: metric
metric_name: k8s.daemonset.desired_scheduled_nodes
stability: development
brief: "Number of nodes that should be running the daemon pod (including nodes currently running the daemon pod)"
note: |
This metric aligns with the `desiredNumberScheduled` field of the
[K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
This metric SHOULD, at a minimum, be reported against a
[`k8s.daemonset`](../resource/k8s.md#daemonset) resource.
instrument: updowncounter
unit: "{node}"
- id: metric.k8s.daemonset.misscheduled_nodes
type: metric
metric_name: k8s.daemonset.misscheduled_nodes
stability: development
brief: "Number of nodes that are running the daemon pod, but are not supposed to run the daemon pod"
note: |
This metric aligns with the `numberMisscheduled` field of the
[K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
This metric SHOULD, at a minimum, be reported against a
[`k8s.daemonset`](../resource/k8s.md#daemonset) resource.
instrument: updowncounter
unit: "{node}"
- id: metric.k8s.daemonset.ready_nodes
type: metric
metric_name: k8s.daemonset.ready_nodes
stability: development
brief: "Number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready"
note: |
This metric aligns with the `numberReady` field of the
[K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
This metric SHOULD, at a minimum, be reported against a
[`k8s.daemonset`](../resource/k8s.md#daemonset) resource.
instrument: updowncounter
unit: "{node}"
# k8s.job.* metrics
- id: metric.k8s.job.active_pods
type: metric
metric_name: k8s.job.active_pods
stability: development
brief: "The number of pending and actively running pods for a job"
instrument: updowncounter
unit: "{pod}"
note: |
This metric aligns with the `active` field of the
[K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch).
This metric SHOULD, at a minimum, be reported against a
[`k8s.job`](../resource/k8s.md#job) resource.
- id: metric.k8s.job.failed_pods
type: metric
metric_name: k8s.job.failed_pods
stability: development
brief: "The number of pods which reached phase Failed for a job"
instrument: updowncounter
unit: "{pod}"
note: |
This metric aligns with the `failed` field of the
[K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch).
This metric SHOULD, at a minimum, be reported against a
[`k8s.job`](../resource/k8s.md#job) resource.
- id: metric.k8s.job.successful_pods
type: metric
metric_name: k8s.job.successful_pods
stability: development
brief: "The number of pods which reached phase Succeeded for a job"
instrument: updowncounter
unit: "{pod}"
note: |
This metric aligns with the `succeeded` field of the
[K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch).
This metric SHOULD, at a minimum, be reported against a
[`k8s.job`](../resource/k8s.md#job) resource.
- id: metric.k8s.job.desired_successful_pods
type: metric
metric_name: k8s.job.desired_successful_pods
stability: development
brief: "The desired number of successfully finished pods the job should be run with"
instrument: updowncounter
unit: "{pod}"
note: |
This metric aligns with the `completions` field of the
[K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobspec-v1-batch).
This metric SHOULD, at a minimum, be reported against a
[`k8s.job`](../resource/k8s.md#job) resource.
- id: metric.k8s.job.max_parallel_pods
type: metric
metric_name: k8s.job.max_parallel_pods
stability: development
brief: "The max desired number of pods the job should run at any given time"
instrument: updowncounter
unit: "{pod}"
note: |
This metric aligns with the `parallelism` field of the
[K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobspec-v1-batch).
This metric SHOULD, at a minimum, be reported against a
[`k8s.job`](../resource/k8s.md#job) resource.
# k8s.job.* metrics
- id: metric.k8s.cronjob.active_jobs
type: metric
metric_name: k8s.cronjob.active_jobs
stability: development
brief: "The number of actively running jobs for a cronjob"
instrument: updowncounter
unit: "{job}"
note: |
This metric aligns with the `active` field of the
[K8s CronJobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#cronjobstatus-v1-batch).
This metric SHOULD, at a minimum, be reported against a
[`k8s.cronjob`](../resource/k8s.md#cronjob) resource.
# k8s.namespace.* metrics
- id: metric.k8s.namespace.phase
type: metric
metric_name: k8s.namespace.phase
stability: development
brief: "Describes number of K8s namespaces that are currently in a given phase."
instrument: updowncounter
unit: "{namespace}"
note: |
This metric SHOULD, at a minimum, be reported against a
[`k8s.namespace`](../resource/k8s.md#namespace) resource.
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"
entity_associations:
- k8s.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"
entity_associations:
- k8s.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"
entity_associations:
- k8s.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"
entity_associations:
- k8s.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"
entity_associations:
- k8s.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"
entity_associations:
- k8s.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.ephemeral_storage.limit
type: metric
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.
instrument: gauge
unit: "By"
- id: metric.k8s.container.ephemeral_storage.request
type: metric
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.
instrument: gauge
unit: "By"