semantic-conventions/model/container/metrics.yaml

160 lines
5.6 KiB
YAML

groups:
# container.* metrics
- id: metric.container.uptime
type: metric
metric_name: container.uptime
annotations:
code_generation:
metric_value_type: double
stability: development
brief: "The time the container 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"
# container.cpu.* metrics and attribute group
- id: metric.container.cpu.time
type: metric
metric_name: container.cpu.time
annotations:
code_generation:
metric_value_type: double
stability: development
brief: "Total CPU time consumed."
note: >
Total CPU time consumed by the specific container on all available CPU cores
instrument: counter
unit: "s"
attributes:
- ref: cpu.mode
brief: "The CPU mode for this data point. A container's CPU metric SHOULD be characterized _either_ by data points with no `mode` labels, _or only_ data points with `mode` labels."
note: "Following states SHOULD be used: `user`, `system`, `kernel`"
requirement_level:
conditionally_required: Required if mode is available, i.e. metrics coming from the Docker Stats API.
- id: metric.container.cpu.usage
type: metric
metric_name: container.cpu.usage
annotations:
code_generation:
metric_value_type: double
stability: development
brief: "Container's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs."
note: >
CPU usage of the specific container on all available CPU cores, averaged over the sample window
instrument: gauge
unit: "{cpu}"
attributes:
- ref: cpu.mode
brief: "The CPU mode for this data point. A container's CPU metric SHOULD be characterized _either_ by data points with no `mode` labels, _or only_ data points with `mode` labels."
note: "Following states SHOULD be used: `user`, `system`, `kernel`"
requirement_level:
conditionally_required: Required if mode is available, i.e. metrics coming from the Docker Stats API.
# container.memory.* metrics and attribute group
- id: metric.container.memory.usage
type: metric
metric_name: container.memory.usage
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Memory usage of the container."
note: >
Memory usage of the container.
instrument: counter
unit: "By"
# container.disk.io.* metrics and attribute group
- id: metric.container.disk.io
type: metric
metric_name: container.disk.io
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Disk bytes for the container."
note: >
The total number of bytes read/written
successfully (aggregated from all disks).
instrument: counter
unit: "By"
attributes:
- ref: disk.io.direction
- ref: system.device
# container.network.io.* metrics and attribute group
- id: metric.container.network.io
type: metric
metric_name: container.network.io
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Network bytes for the container."
note: >
The number of bytes sent/received
on all network interfaces
by the container.
instrument: counter
unit: "By"
attributes:
- ref: network.io.direction
- ref: network.interface.name
# container.filesystem.* metrics
- id: metric.container.filesystem.available
type: metric
metric_name: container.filesystem.available
stability: development
brief: "Container filesystem available bytes."
instrument: updowncounter
unit: "By"
annotations:
code_generation:
metric_value_type: int
entity_associations:
- container
note: |
In K8s, this metric is derived from the
[FsStats.AvailableBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#FsStats) field
of the [ContainerStats.Rootfs](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#ContainerStats)
of the Kubelet's stats API.
- id: metric.container.filesystem.capacity
type: metric
metric_name: container.filesystem.capacity
stability: development
brief: "Container filesystem capacity."
instrument: updowncounter
unit: "By"
annotations:
code_generation:
metric_value_type: int
entity_associations:
- container
note: |
In K8s, this metric is derived from the
[FsStats.CapacityBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#FsStats) field
of the [ContainerStats.Rootfs](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#ContainerStats)
of the Kubelet's stats API.
- id: metric.container.filesystem.usage
type: metric
metric_name: container.filesystem.usage
stability: development
brief: "Container filesystem usage."
instrument: updowncounter
unit: "By"
annotations:
code_generation:
metric_value_type: int
entity_associations:
- container
note: |
This may not equal capacity - available.
In K8s, this metric is derived from the
[FsStats.UsedBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#FsStats) field
of the [ContainerStats.Rootfs](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#ContainerStats)
of the Kubelet's stats API.