Skip to content

feat(system): add system.network.bandwidth.limit metric#3848

Open
emmayusufu wants to merge 5 commits into
open-telemetry:mainfrom
emmayusufu:feat/system-network-bandwidth-limit
Open

feat(system): add system.network.bandwidth.limit metric#3848
emmayusufu wants to merge 5 commits into
open-telemetry:mainfrom
emmayusufu:feat/system-network-bandwidth-limit

Conversation

@emmayusufu

Copy link
Copy Markdown

Changes

Adds a system.network.bandwidth.limit metric to the system namespace: the bandwidth limit of a network interface, derived from the reported link speed (for example /sys/class/net/<device>/speed on Linux).

  • Opt-in UpDownCounter, unit By/s, following the existing system.memory.limit and system.filesystem.limit shape.
  • Attributes: network.interface.name and network.io.direction, matching system.network.io. A full-duplex link carries the capacity in each direction, so the limit is reported per direction and pairs with system.network.io for computing interface utilization, per the instrument naming guidance on limit and usage pairs.

Context: this was requested in open-telemetry/opentelemetry-collector-contrib#49169 and implemented in open-telemetry/opentelemetry-collector-contrib#49361, where @dmitryax asked for the metric to be defined here first.

Merge requirement checklist

  • CONTRIBUTING.md guidelines followed
  • Changelog entry added in .chloggen
  • Markdown tables regenerated via make fix
  • Links to the prototypes (when adding or changing features)

Defines the bandwidth limit of a network interface, derived from the reported link speed, as an opt-in updowncounter in By/s with network.interface.name and network.io.direction attributes. Pairs with system.network.io for computing interface utilization.

Signed-off-by: Emmanuel Yusufu Kimaswa <kimaswaemma36@gmail.com>
@emmayusufu
emmayusufu requested review from a team as code owners July 5, 2026 20:33
Signed-off-by: Emmanuel Yusufu Kimaswa <kimaswaemma36@gmail.com>
@github-actions

Copy link
Copy Markdown

This PR has been labeled as stale due to lack of activity. It will be automatically closed if there is no further activity over the next 7 days.

@github-actions github-actions Bot added the Stale label Jul 20, 2026
@emmayusufu

Copy link
Copy Markdown
Author

The stale bot just marked this. It has had no review since I opened it two weeks ago. Is there something I should do to move it forward, like finding a sponsor or bringing it to the system semconv working group?

@kamphaus

Copy link
Copy Markdown
Contributor

bringing it to the system semconv working group

Yes, that's a good way forward.
Also you might want to periodically merge in the latest changes from main.

Comment thread model/system/metrics.yaml
@github-actions github-actions Bot removed the Stale label Jul 21, 2026
Copilot AI review requested due to automatic review settings July 21, 2026 06:40
@github-actions github-actions Bot added enhancement New feature or request area:system labels Jul 21, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new system-level semantic convention metric (system.network.bandwidth.limit) intended to represent per-interface link-speed-derived bandwidth capacity, to pair with system.network.io for utilization calculations.

Changes:

  • Defines system.network.bandwidth.limit in the system metrics model with network.interface.name and network.io.direction.
  • Regenerates/updates the system metrics documentation to include the new metric section.
  • Adds a changelog entry for the enhancement.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
model/system/metrics.yaml Introduces the new system.network.bandwidth.limit metric definition (instrument, unit, attributes, and semantic note).
docs/system/system-metrics.md Adds the metric to the system metrics doc TOC and includes the generated metric block.
.chloggen/system-network-bandwidth-limit.yaml Records the enhancement in the changelog pipeline.

Comment thread model/system/metrics.yaml
Comment on lines +508 to +512
brief: The bandwidth limit of the network interface, derived from the reported link speed.
note: >
A full-duplex link carries this capacity in each direction, so the limit
is reported per direction. Together with the bytes transferred from
`system.network.io` it allows computing interface utilization.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The note now says this is the operating-system interface view, and points hardware-view readers to hw.network.bandwidth.limit.

Comment thread model/system/metrics.yaml Outdated
Comment on lines +515 to +518
The value is the link speed reported by the operating system, for
example `/sys/class/net/<interface>/speed` on Linux or the adapter link
speed on Windows. Software throttling (such as Linux traffic control)
does not change the reported value.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added. The note now says the value converts to bytes per second when the OS reports a different unit, like Mbit/s on Linux.

@opentelemetry-pr-dashboard

opentelemetry-pr-dashboard Bot commented Jul 21, 2026

Copy link
Copy Markdown

Pull request dashboard status

Status last refreshed: 2026-07-25 10:12:15 UTC.

  • Waiting on: Reviewers
  • Next step: Review the latest changes.

This automated status or its linked feedback items may be incorrect. If something looks wrong, please report it with the result you expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:system enhancement New feature or request

Projects

Status: Awaiting codeowners approval

Development

Successfully merging this pull request may close these issues.

4 participants