Repository navigation
Conversation
Dependency direction analysis
|
Codeowners resolved asResolved from the full PR diff against |
🎉 All green!🧪 All tests passed 🔗 Commit SHA: a77a6ae | Docs | View more details | Give us feedback! |
BenchmarksBenchmark execution time: 2026-11-03 14:30:47 Comparing candidate commit a77a6ae in PR branch Found 11 performance improvements and 0 performance regressions! Performance is the same for 600 metrics, 10 unstable metrics, 1 flaky benchmarks without significant changes.
|
Description
Reduce automatic startup overhead by keeping inactive LLMObs, debugging, and symbol-upload implementations unloaded. Preserve remote activation, public SDK exports, default code-origin tags, and required early AppSec/debugging hooks. No new configuration is required.
Ordinary requests, unrelated remote-config updates, fork, and shutdown do not initialize inactive implementations. Snapshot collection loads only for an active debug session.
Testing
CI startup benchmarks, comparing base
b2fc819witha77a6ae5: Python 3.12, Linux x86_64, 60 samples per configuration. Times include process shutdown.import ddtraceimport ddtrace.autoddtrace-runAll 19 configurations completed. The request-inclusive results retain 111–131 ms of savings, supporting reduced work across the process lifetime. Pyprof and module inventories show 60 fewer ddtrace modules loaded by auto-instrumentation.
Targeted Python 3.12 tests passed for LLMObs, debugging, AppSec, tracing, Flask, symbol uploads, remote configuration, and fork/shutdown. New tests cover cold activation, config removal, manual activation, concurrent snapshot initialization, and activation/shutdown races. Formatting, lint, typing, suite coverage, and benchmark ownership checks passed; no new import cycles or dependency violations.
Risks
Changes product initialization order. Activation, shutdown, and fork behavior need coverage across supported Python/platform combinations.
Additional Notes
Independent draft PR. Startup benchmarks passed on the current head; the full CI pipeline is still running. The local 19-configuration comparison also completed, but variation in unchanged controls makes its timings inconclusive; the table uses CI measurements.