-
Notifications
You must be signed in to change notification settings - Fork 381
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
DEBUG-3535 use core transport for DI to support unix domain sockets #4426
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #4426 +/- ##
==========================================
- Coverage 97.71% 97.70% -0.02%
==========================================
Files 1368 1374 +6
Lines 83438 83716 +278
Branches 4220 4236 +16
==========================================
+ Hits 81533 81796 +263
- Misses 1905 1920 +15 ☔ View full report in Codecov by Sentry. |
BenchmarksBenchmark execution time: 2025-02-24 14:41:39 Comparing candidate commit 58df23e in PR branch Found 2 performance improvements and 0 performance regressions! Performance is the same for 29 metrics, 2 unstable metrics. scenario:profiler - stack collector
scenario:tracing - Propagation - Trace Context
|
* [🤖] Update Latest Dependency: https://github.com/DataDog/dd-trace-rb/actions/runs/13477718964 * Remove force-executed tests and scenario from system-tests workflow after release 2.11.0 * Add AppSec RestClient instrumentation for SSRF detection * Add type signatures for AppSec RestClient integration * Fix type signatures for excon and faraday AppSec integrations * Add tests for RestClient AppSec instrumentation * Extract rest-client-latest appraisal * [🤖] Lock Dependency: https://github.com/DataDog/dd-trace-rb/actions/runs/13455470094 * [🤖] Lock Dependency: https://github.com/DataDog/dd-trace-rb/actions/runs/13455581146 * Remove unneeded variable from RestClient SSRF integration test * [🤖] Lock Dependency: https://github.com/DataDog/dd-trace-rb/actions/runs/13457056485 * Add rest-client gem to rake edge:update task * [🤖] Lock Dependency: https://github.com/DataDog/dd-trace-rb/actions/runs/13496444973 * Rename RequestPatch to RequestSSRFDetectionPatch * [🤖] Lock Dependency: https://github.com/DataDog/dd-trace-rb/actions/runs/13497053640 * Disable rubocop warning for RequestSSRFDetectionPatch * [PROF-11151] Fix test-memory-leaks flaky behavior **What does this PR do?** This PR will hopefully fix almost [all of the the flakiness](https://github.com/DataDog/dd-trace-rb/pulls?q=is%3Apr+asan) we've seen from the test-memory-leaks GitHub workflow. The previous "asan" builds we were using were built from ruby-head, which means that any instability or early breakage in ruby-head would make test-memory-leaks fail. To fix this, I've worked with upstream to create these 3.4-asan builds: these are Ruby builds that are built **from the latest 3.4 stable Ruby** with asan. Thus any breakages we see in them, should also exist in regular 3.4 builds. **Motivation:** With this change, the test-memory-leaks workflow becomes a lot more valuable, since it's now never expected to fail. Thus, any failures we see in it are worth investigating. **Additional Notes:** For context, asan (or ASan) is the "AddressSanitizer" tool, see https://github.com/google/sanitizers/wiki/AddressSanitizer for more details. **How to test the change?** Validate that the updated workflow is running on ruby-3.4.2 and that it still has the diagnostic output from asan. * DEBUG-3535 use core transport for DI to support unix domain sockets (#4426) * Composite action * Fix publish * Fix doc step with branch * Dependency inject logger (partial) (#4432) * Add 2.12.0 to CHANGELOG.md * Bump version 2.11.0 to 2.12.0 * Update lockfiles for release 2.12.0 --------- Co-authored-by: TonyCTHsu <16049123+TonyCTHsu@users.noreply.github.com> Co-authored-by: Yury Lebedev <yury.lebedev@datadoghq.com> Co-authored-by: y9v <1379701+y9v@users.noreply.github.com> Co-authored-by: Yury Lebedev <lebedev.yurii@gmail.com> Co-authored-by: Ivo Anjo <ivo.anjo@datadoghq.com> Co-authored-by: Oleg Pudeyev <156273877+p-datadog@users.noreply.github.com>
What does this PR do?
Changes DI transport code to use the core transport functionality to get unix domain socket support.
Motivation:
Shopist uses unix domain sockets, DI does not work there without them.
Change log entry
Yes: Dynamic instrumentation can now communicate with Datadog agent over Unix domain sockets
Additional Notes:
The code is copy-pasted heavily from existing remote and tracing transports. There are no changes outside of DI in this pull request. I would like to further DRY the transport code in a follow-up PR.
How to test the change?
Existing unit tests/CI + manual testing against shopist