Skip to content

Storage metrics don't reflect I/O from all devices #38301

Closed
@jonnangle

Description

@jonnangle

Component(s)

receiver/awsecscontainermetrics

What happened?

Description

storage.read_bytes and storage.write_bytes metrics only reflect one block device.

Steps to Reproduce

Create an ECS task with a container that uses multiple block IO devices.

Expected Result

The metrics reflect the sum of all Read / Write op counters exposed via blkio_stats.io_service_bytes_recursive.

Actual Result

The metrics only reflect the metric from the final Read/Write op counter in the list.

Collector version

v0.120.0

Environment information

Environment

OS: Linux on AWS ECS Fargate

OpenTelemetry Collector configuration

receivers:
  awsecscontainermetrics:
    collection_interval: 60s

processors:
  batch:
    timeout: 200ms

exporters:
  prometheusremotewrite:
    endpoint: https://prometheus.endpoint

service:
  pipelines:
    metrics:
      receivers:
        - awsecscontainermetrics
      processors:
        - batch
      exporters:
        - prometheusremotewrite

Log output

Additional context

Fix for this: accumalate reads/writes when iterating over the IoServiceBytesRecursives list here.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions