Skip to content

[WIP] Otap enum attrs#3534

Draft
lquerel wants to merge 1 commit into
open-telemetry:mainfrom
lquerel:otap-enum-attrs
Draft

[WIP] Otap enum attrs#3534
lquerel wants to merge 1 commit into
open-telemetry:mainfrom
lquerel:otap-enum-attrs

Conversation

@lquerel

@lquerel lquerel commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Not ready for review at all!

Change Summary

Refactor the OTAP receiver and exporter internal telemetry to use bounded, enum-based attributes, following the approach introduced for OTLP metrics.

This change:

  • Reuses common signal and outcome attribute sets.
  • Introduces a shared receiver rejection error type.
  • Aligns OTAP and OTLP acknowledgement and rejection dimensions.
  • Partitions exporter metrics by signal and terminal outcome.
  • Replaces global latency aggregation with bounded per-signal/outcome buckets.
  • Renames OTAP metric sets to follow receiver.otap.* and exporter.otap.* conventions.
  • Updates the component telemetry documentation.

What issue does this PR close?

How are these changes tested?

  • Added tests verifying metric isolation across signal, outcome, rejection scope, and error type.
  • Added tests verifying enum attributes are preserved in terminal snapshots and exported exactly once.
  • Added tests for per-signal/outcome exporter latency aggregation.
  • Ran focused OTAP receiver and exporter integration tests.
  • cargo xtask check

Are there any user-facing changes?

Yes. OTAP internal metric names and attribute sets have changed. Metrics now use bounded signal, outcome, and error.type dimensions and consistently follow the receiver.otap.* and exporter.otap.* naming conventions.

Changelog

  • Added a .chloggen/*.yaml entry
  • This PR is a chore (indicated in title)
  • This is a documentation-only PR.

@github-actions github-actions Bot added documentation Improvements or additions to documentation area:pipeline Rust Pipeline Related Tasks lang:rust Pull requests that update Rust code area:parquet Work relating to the Parquet data format area:processor Core and Contrib processor nodes area:exporter Core and Contrib exporter nodes area:receiver Core and Contrib receiver nodes area:observability Engine observability breaking change Used to mark PRs that contain breaking changes for higher visibility labels Jul 21, 2026
@opentelemetry-pr-dashboard

opentelemetry-pr-dashboard Bot commented Jul 21, 2026

Copy link
Copy Markdown

Pull request dashboard status

Status last refreshed: 2026-07-22 19:57:54 UTC.

  • Waiting on: Author
  • Next step: Move out of draft to request review.

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

@codecov

codecov Bot commented Jul 21, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 84.14767% with 146 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.70%. Comparing base (7502e7d) to head (b97dca1).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3534      +/-   ##
==========================================
- Coverage   86.71%   86.70%   -0.02%     
==========================================
  Files         789      790       +1     
  Lines      319633   320174     +541     
==========================================
+ Hits       277179   277610     +431     
- Misses      41930    42040     +110     
  Partials      524      524              
Components Coverage Δ
otap-dataflow 87.73% <84.14%> (-0.02%) ⬇️
query_engine 89.57% <ø> (ø)
otel-arrow-go 52.45% <ø> (ø)
quiver 92.20% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Labels

area:exporter Core and Contrib exporter nodes area:observability Engine observability area:parquet Work relating to the Parquet data format area:pipeline Rust Pipeline Related Tasks area:processor Core and Contrib processor nodes area:receiver Core and Contrib receiver nodes breaking change Used to mark PRs that contain breaking changes for higher visibility documentation Improvements or additions to documentation lang:rust Pull requests that update Rust code

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Alignment of Metric naming conventions and instrumentation

1 participant