Skip to content

Collect async exemplars when exemplar filter is always_on#8363

Merged
jack-berg merged 7 commits into
open-telemetry:mainfrom
ADITYA-CODE-SOURCE:issue-8355-async-exemplars
May 12, 2026
Merged

Collect async exemplars when exemplar filter is always_on#8363
jack-berg merged 7 commits into
open-telemetry:mainfrom
ADITYA-CODE-SOURCE:issue-8355-async-exemplars

Conversation

@ADITYA-CODE-SOURCE
Copy link
Copy Markdown
Contributor

@ADITYA-CODE-SOURCE ADITYA-CODE-SOURCE commented May 3, 2026

Summary

Fixes #8355

Allow asynchronous metric storage to use the configured exemplar filter so
always_on can capture async exemplars, matching the clarified spec. Add
coverage at both the storage and SDK integration levels.

Refs open-telemetry#8355
@ADITYA-CODE-SOURCE ADITYA-CODE-SOURCE requested a review from a team as a code owner May 3, 2026 08:22
@codecov
Copy link
Copy Markdown

codecov Bot commented May 3, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.87%. Comparing base (94660eb) to head (798acf5).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##               main    #8363   +/-   ##
=========================================
  Coverage     90.87%   90.87%           
+ Complexity     7989     7986    -3     
=========================================
  Files           898      898           
  Lines         24119    24111    -8     
  Branches       2412     2408    -4     
=========================================
- Hits          21919    21912    -7     
+ Misses         1456     1455    -1     
  Partials        744      744           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

This was referenced May 4, 2026
Copy link
Copy Markdown
Member

@jack-berg jack-berg left a comment

Choose a reason for hiding this comment

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

Thanks for picking this up. Just one comment, but looks pretty good on the whole

@ADITYA-CODE-SOURCE
Copy link
Copy Markdown
Contributor Author

@jack-berg The requested async exemplar coverage has been added to all six instrument test classes with both always_on and default-case assertions. All 28 checks are passing. Ready for another look when you have a chance.

notCompatibleWithConfigurationCache(
"GraalVM native test agent options are not serializable for this task.",
)
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please revert this. Are you having issues with graal tests and the configuration cache locally? I have in the past but thought they had been resolved. If they persist, let's cover in a separate PR. Thanks!

Copy link
Copy Markdown
Member

@jack-berg jack-berg left a comment

Choose a reason for hiding this comment

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

Just some extra code for the configuration cache. But otherwise looks good. Thanks.

@ADITYA-CODE-SOURCE
Copy link
Copy Markdown
Contributor Author

ADITYA-CODE-SOURCE commented May 12, 2026

@jack-berg I'll revert the config-cache workaround so this PR stays focused on the exemplar change. If the Graal CI flake comes up again I'll address it separately.

@jack-berg jack-berg merged commit a708e53 into open-telemetry:main May 12, 2026
28 checks passed
@otelbot
Copy link
Copy Markdown
Contributor

otelbot Bot commented May 12, 2026

Thank you for your contribution @ADITYA-CODE-SOURCE! 🎉 We would like to hear from you about your experience contributing to OpenTelemetry by taking a few minutes to fill out this survey.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Async instruments should collect exemplars when filter is set to always on

2 participants