DEBUG-3700 Replace telemetry transport with a core-based transport that supports UDS#4630
Conversation
|
Thank you for updating Change log entry section 👏 Visited at: 2025-05-13 11:55:39 UTC |
Datadog ReportBranch report: ❌ 15 Failed (0 Known Flaky), 20469 Passed, 1368 Skipped, 3m 34.93s Total Time ❌ Failed Tests (15)
|
5b467e7 to
e9b3353
Compare
Datadog Summary✅ Dependencies Test Optimization ReportBranch report: ❌ 1 Failed (0 Known Flaky), 21144 Passed, 1374 Skipped, 3m 52.97s Total Time ❌ Failed Tests (1)
Was this helpful? Give us feedback! |
80eaa8a to
b43ad13
Compare
22102ea to
4e9cd75
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #4630 +/- ##
==========================================
- Coverage 97.77% 97.76% -0.02%
==========================================
Files 1415 1418 +3
Lines 86561 86598 +37
Branches 4386 4395 +9
==========================================
+ Hits 84636 84663 +27
- Misses 1925 1935 +10 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Strech
left a comment
There was a problem hiding this comment.
I have a suggestion to redo the enabled flag internals into 2 separate enabled and disabled telemetry components (or some sub-classes).
In addition I think few interfaces could be slightly changed (like other classes in this PR)
anmarchenko
left a comment
There was a problem hiding this comment.
I have no objections and agentless telemetry tests passed: great job @p-datadog
|
Awesome 👏🏼 |
What does this PR do?
Replaces telemetry's simple transport by the proper "enterprise" transport that implements Unix domain sockets besides HTTP.
Motivation:
Shopist requires usage of UDS for everything.
We also had support escalations asking for UDS support in telemetry.
Change log entry
None
Additional Notes:
I used DI transport as a starting point. There is a fair amount of boilerplate in transport code (still) which I hope to reduce one day in the future.
Telemetry initialization logic that was in Component.build was moved to Component#initialize to centralize processing.
http_transportattributes within telemetry were renamed totransportfor consistency with other transports and because UDS is now supported.Telemetry worker will now not be created at all if telemetry is disabled. This was the easiest route to get some of the tests passing and I believe this is the correct behavior.
I feel like the
agent_settingsshould be a cached attribute ofsettingsrather than having consumers deal with AgentSettingsResolver (again maybe in the bright future).How to test the change?
Existing CI including integration tests added in #4588 that verify payloads.
Integration tests were expanded to add a UDS configuration.