-
Notifications
You must be signed in to change notification settings - Fork 171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
adding exporter + transport registry #862
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #862 +/- ##
============================================
- Coverage 80.67% 79.81% -0.87%
- Complexity 2011 2035 +24
============================================
Files 255 268 +13
Lines 5279 5271 -8
============================================
- Hits 4259 4207 -52
- Misses 1020 1064 +44
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
to remove the hidden dependency between SDK and contrib, move all of the exporter knowledge out of exporter factory, and invent a registry to hold those values. The registry can be added to by contrib modules as part of composer autoloading. This also allows users to override things like transports (eg, provide their own grpc transport). Remove exporter's fromConnectionString as it's not in spec, and I couldn't get it to work nicely with the registry idea.
I haven't yet tested for race conditions (eg between autloading and registering), file loading order. Also need to ensure sdk/contrib registered factories do not clobber user-defined ones. |
adding an example of replacing a registered transport factory with another implementation
To remove the hidden dependency between SDK and contrib, move all of the exporter knowledge out of exporter factory, and create a registry to hold those values.
The registry can be added to by contrib modules as part of composer autoloading. This also allows users to override things like transports (eg, provide their own grpc transport).
Remove exporter's fromConnectionString as it's not in spec, and didn't fit in with the registry idea.