dd-trace-rb
dd-trace-rb copied to clipboard
chore(ssi): track instrumentation source
What does this PR do?
Reports to the instrumentation telemetry platform whether an application was instrumented via SSI or manually.
Motivation:
Track the source of instrumentation
Change log entry
Additional Notes:
How to test the change?
Benchmarks
Benchmark execution time: 2025-07-07 22:45:40
Comparing candidate commit 0113cc618eb3fa23d6ca3aa3cedd34fb25fca93a in PR branch munir/ruby-track-services-instrumented-via-ssi with baseline commit f98df277d98c8fdbf86b3b4401f2e11636889a4b in branch master.
Found 0 performance improvements and 1 performance regressions! Performance is the same for 42 metrics, 6 unstable metrics.
scenario:profiling - intern_all 1000 repeated strings
- 🟥
throughput[-1296.398op/s; -1221.381op/s] or [-5.361%; -5.050%]
Codecov Report
Attention: Patch coverage is 86.36364% with 3 lines in your changes missing coverage. Please review.
Project coverage is 97.53%. Comparing base (
f98df27) to head (0113cc6).
| Files with missing lines | Patch % | Lines |
|---|---|---|
| spec/datadog/single_step_instrument_spec.rb | 83.33% | 2 Missing :warning: |
| lib/datadog/core/telemetry/event/app_started.rb | 85.71% | 1 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## master #4737 +/- ##
==========================================
- Coverage 97.53% 97.53% -0.01%
==========================================
Files 1483 1484 +1
Lines 88602 88624 +22
Branches 4592 4598 +6
==========================================
+ Hits 86421 86435 +14
- Misses 2181 2189 +8
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
Is this a customer-visible change? Telemetry is not directly customer-visible but for example dynamic instrumentation UI does not work correctly without a bunch of data being sent to telemetry.
Is this a customer-visible change? Telemetry is not directly customer-visible but for example dynamic instrumentation UI does not work correctly without a bunch of data being sent to telemetry.
There is a plan to surface this config value in the Datadog UI. I believe the tracer configuration data sent to instrumentation telemetry can be queried using ddsql. But from the SDK perspective this configuration is internal to the ddtrace library.