-
Notifications
You must be signed in to change notification settings - Fork 166
Smart Agent: Default to lone SFx Exporter for dimension/event client if applicable #149
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
Conversation
This may be a surprising behavior: you add an Sfx exporter to the config and suddenly a previous one that worked fine stops working. I would argue that a less surprising approach is to just use all Sfx exporters and if that's undesirable you can always override using empty setting. |
Codecov Report
@@ Coverage Diff @@
## main #149 +/- ##
==========================================
+ Coverage 87.90% 88.17% +0.26%
==========================================
Files 15 15
Lines 835 854 +19
==========================================
+ Hits 734 753 +19
Misses 72 72
Partials 29 29
Continue to review full report at Codecov.
|
I considered this, but it seemed unlikely that two different SFx exporters would be in the same pipeline, so it's likely that one would receive dimension updates and events for a receiver it's not receiving metrics for if all SFx exporters are selected. |
That's a good point. OK, I don't have a strong opinion. It looks like there is no ideal approach here. |
I've realized there's an issue with events -> log records and the factory-created SFx exporter is not compatible. These changes ensure that both dimension updates and events retrieve the desired exporter instance by |
Closing this and will require event producers* to be in log pipelines in later PR. |
These changes add an additional path for default dimension and event client selection in the Smart Agent receiver. The final proposed behavior is:
edit: To clarify, the aim of these changes is to not require specifying a value for this field for most usages, but to not interfere with or prevent any desired configuration.