Skip to content

Conversation

@mattsains
Copy link
Contributor

Changes

Allows users of the Geneva exporter to specify which resource attributes they want sent to Geneva. This prevents excessive trace data from being exported if there are many resource attributes which do not need to be stored.

Merge requirement checklist

  • CONTRIBUTING guidelines followed (license requirements, nullable enabled, static analysis, etc.)
  • Unit tests added/updated
  • Appropriate CHANGELOG.md files updated for non-trivial changes
  • Changes in public API reviewed (if applicable)

@github-actions github-actions bot added the comp:exporter.geneva Things related to OpenTelemetry.Exporter.Geneva label Oct 30, 2025
@codecov
Copy link

codecov bot commented Oct 30, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.84%. Comparing base (df80dbe) to head (e0146b6).
⚠️ Report is 30 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #3367      +/-   ##
==========================================
- Coverage   71.03%   70.84%   -0.19%     
==========================================
  Files         430      430              
  Lines       17194    17199       +5     
==========================================
- Hits        12214    12185      -29     
- Misses       4980     5014      +34     
Flag Coverage Δ
unittests-Exporter.Geneva 53.68% <100.00%> (-0.62%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...Telemetry.Exporter.Geneva/GenevaExporterOptions.cs 90.47% <100.00%> (+0.23%) ⬆️
...er.Geneva/Internal/MsgPack/MsgPackTraceExporter.cs 94.21% <100.00%> (+0.07%) ⬆️

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@rajkumar-rangaraj
Copy link
Member

I strongly feel this capability does not belong at the exporter level.
Filtering / selection of resource attributes should happen when the Resource is built or in the Collector pipeline, not inside the Geneva exporter.

In the current SDK, customers already have a clean way to control which resource attributes get emitted by using:

ResourceBuilder.CreateEmpty()
    .AddAttributes(...)

This supports the model where the application defines the resource contract and only includes what it wants to propagate.
Adding an allow-list at the exporter layer introduces:

  • Two places for resource shaping logic (builder + exporter)
  • Divergence from upstream OTel behavior
  • A risk of exporter-specific resource semantics

@github-actions
Copy link
Contributor

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions github-actions bot added Stale and removed Stale labels Nov 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp:exporter.geneva Things related to OpenTelemetry.Exporter.Geneva

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants