feat(multiprovider): aggregate child provider events, state, and tracking - #2004
feat(multiprovider): aggregate child provider events, state, and tracking#2004jonathannorris wants to merge 1 commit into
Conversation
Signed-off-by: Jonathan Norris <jonathan.norris@dynatrace.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #2004 +/- ##
============================================
- Coverage 92.52% 92.02% -0.50%
- Complexity 728 781 +53
============================================
Files 60 60
Lines 1739 1907 +168
Branches 202 223 +21
============================================
+ Hits 1609 1755 +146
- Misses 80 87 +7
- Partials 50 65 +15
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|



Summary
MultiProvidernow observes child provider events and aggregates them into a single provider state using worst-wins precedence:FATAL > NOT_READY > ERROR > STALE > READY.PROVIDER_CONFIGURATION_CHANGEDfrom any child is forwarded to the SDK.track, forwarding to every child provider that isn'tNOT_READYorFATAL; a throwing provider is logged and doesn't stop the rest.name,name-1,name-2) instead of silently overwriting each other in the provider map.Implementation
EventProvidergainsaddEventObserver/removeEventObserverso a composite provider can observe its children without going through the API-level event bus. Observers are registered duringinitializeand removed duringshutdown.Related PRs
This is one of three independent PRs that together close the multi-provider gaps identified in #1882. They branch off
mainseparately and can be reviewed and merged in any order. Together they replace #1897.ComparisonStrategyRelates to #1882