type: docker_stats status: class: receiver stability: alpha: [metrics] distributions: [contrib, observiq, sumo] codeowners: active: [rmfitzpatrick, jamesmoessis] sem_conv_version: 1.6.1 # Note: there are other, additional resource attributes that the user can configure through the yaml resource_attributes: container.runtime: description: "The runtime of the container. For this receiver, it will always be 'docker'." type: string enabled: true container.id: description: "The ID of the container." type: string enabled: true container.image.name: description: "The name of the docker image in use by the container." type: string enabled: true container.name: description: "The name of the container." type: string enabled: true container.hostname: description: "The hostname of the container." type: string enabled: true container.image.id: description: "The ID of the container image." type: string enabled: false container.command_line: description: "The full command executed by the container." type: string enabled: false attributes: core: description: "The CPU core number when utilising per-CPU metrics." type: string device_major: description: "Device major number for block IO operations." type: string device_minor: description: "Device minor number for block IO operations." type: string interface: description: "Network interface." type: string operation: description: "Type of BlockIO operation." type: string metrics: # CPU container.cpu.usage.system: enabled: false description: "System CPU usage, as reported by docker." extended_documentation: "Note this is the usage for the system, not the container." unit: ns sum: value_type: int monotonic: true aggregation_temporality: cumulative container.cpu.usage.total: enabled: true description: "Total CPU time consumed." unit: ns sum: value_type: int monotonic: true aggregation_temporality: cumulative container.cpu.usage.kernelmode: enabled: true description: >- Time spent by tasks of the cgroup in kernel mode (Linux). Time spent by all container processes in kernel mode (Windows). unit: ns sum: value_type: int monotonic: true aggregation_temporality: cumulative container.cpu.usage.usermode: enabled: true description: >- Time spent by tasks of the cgroup in user mode (Linux). Time spent by all container processes in user mode (Windows). unit: ns sum: value_type: int monotonic: true aggregation_temporality: cumulative container.cpu.usage.percpu: enabled: false description: "Per-core CPU usage by the container (Only available with cgroups v1)." unit: ns sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - core container.cpu.throttling_data.periods: enabled: false description: "Number of periods with throttling active." unit: "{periods}" sum: value_type: int monotonic: true aggregation_temporality: cumulative container.cpu.throttling_data.throttled_periods: enabled: false description: "Number of periods when the container hits its throttling limit." unit: "{periods}" sum: value_type: int monotonic: true aggregation_temporality: cumulative container.cpu.throttling_data.throttled_time: enabled: false description: "Aggregate time the container was throttled." unit: ns sum: value_type: int monotonic: true aggregation_temporality: cumulative container.cpu.utilization: enabled: true description: "Percent of CPU used by the container." unit: "1" gauge: value_type: double container.cpu.limit: enabled: false description: "CPU limit set for the container." extended_documentation: "This metric is only reported if the container has limits set with -cpus, -cpuset-cpus or -cpu-quota." unit: "{cpus}" gauge: value_type: double container.cpu.shares: enabled: false description: "CPU shares set for the container." unit: "1" gauge: value_type: int # Memory container.memory.usage.limit: enabled: true description: "Memory limit of the container." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.usage.total: enabled: true description: "Memory usage of the container. This excludes the cache." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.usage.max: enabled: false description: "Maximum memory usage." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.percent: enabled: true description: "Percentage of memory used." unit: 1 gauge: value_type: double container.memory.cache: enabled: false description: "The amount of memory used by the processes of this control group that can be associated precisely with a block on a block device (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.rss: enabled: false description: "The amount of memory that doesn’t correspond to anything on disk: stacks, heaps, and anonymous memory maps (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.rss_huge: enabled: false description: "Number of bytes of anonymous transparent hugepages in this cgroup (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.dirty: enabled: false description: "Bytes that are waiting to get written back to the disk, from this cgroup (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.writeback: enabled: false description: "Number of bytes of file/anon cache that are queued for syncing to disk in this cgroup (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.mapped_file: enabled: false description: "Indicates the amount of memory mapped by the processes in the control group (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.pgpgin: enabled: false description: "Number of pages read from disk by the cgroup (Only available with cgroups v1)." extended_documentation: "[More docs](https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt)." unit: "{operations}" sum: value_type: int aggregation_temporality: cumulative monotonic: true container.memory.pgpgout: enabled: false description: "Number of pages written to disk by the cgroup (Only available with cgroups v1)." extended_documentation: "[More docs](https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt)." unit: "{operations}" sum: value_type: int aggregation_temporality: cumulative monotonic: true container.memory.pgfault: enabled: false description: "Indicate the number of times that a process of the cgroup triggered a page fault." unit: "{faults}" sum: value_type: int aggregation_temporality: cumulative monotonic: true container.memory.pgmajfault: enabled: false description: "Indicate the number of times that a process of the cgroup triggered a major fault." unit: "{faults}" sum: value_type: int aggregation_temporality: cumulative monotonic: true container.memory.inactive_anon: enabled: false description: "The amount of anonymous memory that has been identified as inactive by the kernel." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.active_anon: enabled: false description: "The amount of anonymous memory that has been identified as active by the kernel." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.inactive_file: enabled: false description: "Cache memory that has been identified as inactive by the kernel." extended_documentation: "[More docs](https://docs.docker.com/config/containers/runmetrics/)" unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.active_file: enabled: false description: "Cache memory that has been identified as active by the kernel." extended_documentation: "[More docs](https://docs.docker.com/config/containers/runmetrics/)" unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.unevictable: enabled: false description: "The amount of memory that cannot be reclaimed." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.hierarchical_memory_limit: enabled: false description: "The maximum amount of physical memory that can be used by the processes of this control group (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.hierarchical_memsw_limit: enabled: false description: "The maximum amount of RAM + swap that can be used by the processes of this control group (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.total_cache: enabled: true description: "Total amount of memory used by the processes of this cgroup (and descendants) that can be associated with a block on a block device. Also accounts for memory used by tmpfs (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.total_rss: enabled: false description: "The amount of memory that doesn’t correspond to anything on disk: stacks, heaps, and anonymous memory maps. Includes descendant cgroups (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.total_rss_huge: enabled: false description: "Number of bytes of anonymous transparent hugepages in this cgroup and descendant cgroups (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.total_dirty: enabled: false description: "Bytes that are waiting to get written back to the disk, from this cgroup and descendants (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.total_writeback: enabled: false description: "Number of bytes of file/anon cache that are queued for syncing to disk in this cgroup and descendants (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.total_mapped_file: enabled: false description: "Indicates the amount of memory mapped by the processes in the control group and descendant groups (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.total_pgpgin: enabled: false description: "Number of pages read from disk by the cgroup and descendant groups (Only available with cgroups v1)." unit: "{operations}" sum: value_type: int aggregation_temporality: cumulative monotonic: true container.memory.total_pgpgout: enabled: false description: "Number of pages written to disk by the cgroup and descendant groups (Only available with cgroups v1)." unit: "{operations}" sum: value_type: int aggregation_temporality: cumulative monotonic: true container.memory.total_pgfault: enabled: false description: "Indicate the number of times that a process of the cgroup (or descendant cgroups) triggered a page fault (Only available with cgroups v1)." unit: "{faults}" sum: value_type: int aggregation_temporality: cumulative monotonic: true container.memory.total_pgmajfault: enabled: false description: "Indicate the number of times that a process of the cgroup (or descendant cgroups) triggered a major fault (Only available with cgroups v1)." unit: "{faults}" sum: value_type: int aggregation_temporality: cumulative monotonic: true container.memory.total_inactive_anon: enabled: false description: "The amount of anonymous memory that has been identified as inactive by the kernel. Includes descendant cgroups (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.total_active_anon: enabled: false description: "The amount of anonymous memory that has been identified as active by the kernel. Includes descendant cgroups (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.total_inactive_file: enabled: false description: "Cache memory that has been identified as inactive by the kernel. Includes descendant cgroups (Only available with cgroups v1)." extended_documentation: "[More docs](https://docs.docker.com/config/containers/runmetrics/)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.total_active_file: enabled: false description: "Cache memory that has been identified as active by the kernel. Includes descendant cgroups (Only available with cgroups v1)." extended_documentation: "[More docs](https://docs.docker.com/config/containers/runmetrics/)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.total_unevictable: enabled: false description: "The amount of memory that cannot be reclaimed. Includes descendant cgroups (Only available with cgroups v1)." unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.anon: enabled: false description: "Amount of memory used in anonymous mappings such as brk(), sbrk(), and mmap(MAP_ANONYMOUS) (Only available with cgroups v2)." extended_documentation: "[More docs](https://www.kernel.org/doc/Documentation/cgroup-v2.txt)" unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false container.memory.file: enabled: true description: "Amount of memory used to cache filesystem data, including tmpfs and shared memory (Only available with cgroups v2)." extended_documentation: "[More docs](https://www.kernel.org/doc/Documentation/cgroup-v2.txt)" unit: By sum: value_type: int aggregation_temporality: cumulative monotonic: false # BlockIO (cgroup v1) and IO (cgroup v2) controllers container.blockio.io_merged_recursive: enabled: false description: "Number of bios/requests merged into requests belonging to this cgroup and its descendant cgroups (Only available with cgroups v1)." extended_documentation: "[More docs](https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt)." unit: "{operations}" sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - device_major - device_minor - operation container.blockio.io_queued_recursive: enabled: false description: "Number of requests queued up for this cgroup and its descendant cgroups (Only available with cgroups v1)." extended_documentation: "[More docs](https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt)." unit: "{operations}" sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - device_major - device_minor - operation container.blockio.io_service_bytes_recursive: enabled: true description: "Number of bytes transferred to/from the disk by the group and descendant groups." extended_documentation: >- More docs for [cgroups v1](https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt) and [cgroups v2](https://www.kernel.org/doc/Documentation/cgroup-v2.txt) unit: By sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - device_major - device_minor - operation container.blockio.io_service_time_recursive: enabled: false description: "Total amount of time in nanoseconds between request dispatch and request completion for the IOs done by this cgroup and descendant cgroups (Only available with cgroups v1)." extended_documentation: "[More docs](https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt)." unit: ns sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - device_major - device_minor - operation container.blockio.io_serviced_recursive: enabled: false description: "Number of IOs (bio) issued to the disk by the group and descendant groups (Only available with cgroups v1)." extended_documentation: "[More docs](https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt)." unit: "{operations}" sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - device_major - device_minor - operation container.blockio.io_time_recursive: enabled: false description: "Disk time allocated to cgroup (and descendant cgroups) per device in milliseconds (Only available with cgroups v1)." extended_documentation: "[More docs](https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt)." unit: ms sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - device_major - device_minor - operation container.blockio.io_wait_time_recursive: enabled: false description: "Total amount of time the IOs for this cgroup (and descendant cgroups) spent waiting in the scheduler queues for service (Only available with cgroups v1)." extended_documentation: "[More docs](https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt)." unit: ns sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - device_major - device_minor - operation container.blockio.sectors_recursive: enabled: false description: "Number of sectors transferred to/from disk by the group and descendant groups (Only available with cgroups v1)." extended_documentation: "[More docs](https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt)." unit: "{sectors}" sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - device_major - device_minor - operation # Network container.network.io.usage.rx_bytes: enabled: true description: "Bytes received by the container." unit: By sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - interface container.network.io.usage.tx_bytes: enabled: true description: "Bytes sent." unit: By sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - interface container.network.io.usage.rx_dropped: enabled: true description: "Incoming packets dropped." unit: "{packets}" sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - interface container.network.io.usage.tx_dropped: enabled: true description: "Outgoing packets dropped." unit: "{packets}" sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - interface container.network.io.usage.rx_errors: enabled: false description: "Received errors." unit: "{errors}" sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - interface container.network.io.usage.tx_errors: enabled: false description: "Sent errors." unit: "{errors}" sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - interface container.network.io.usage.rx_packets: enabled: false description: "Packets received." unit: "{packets}" sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - interface container.network.io.usage.tx_packets: enabled: false description: "Packets sent." unit: "{packets}" sum: value_type: int monotonic: true aggregation_temporality: cumulative attributes: - interface # Pids container.pids.count: enabled: false description: "Number of pids in the container's cgroup." extended_documentation: "It requires docker API 1.23 or higher and kernel version >= 4.3 with pids cgroup supported. [More docs](https://www.kernel.org/doc/Documentation/cgroup-v1/pids.txt)" unit: "{pids}" sum: value_type: int aggregation_temporality: cumulative monotonic: false container.pids.limit: enabled: false description: "Maximum number of pids in the container's cgroup." extended_documentation: "It requires docker API 1.23 or higher and kernel version >= 4.3 with pids cgroup supported. [More docs](https://www.kernel.org/doc/Documentation/cgroup-v1/pids.txt)" unit: "{pids}" sum: value_type: int aggregation_temporality: cumulative monotonic: false # Base container.uptime: enabled: false description: "Time elapsed since container start time." unit: s gauge: value_type: double # Container container.restarts: enabled: false description: "Number of restarts for the container." unit: "{restarts}" sum: value_type: int monotonic: true aggregation_temporality: cumulative