-
Notifications
You must be signed in to change notification settings - Fork 166
feat(PDO): correct a bug on prepared statement regarding DBM correlation #3545
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
base: master
Are you sure you want to change the base?
Conversation
4d7e79e to
68bf5c5
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3545 +/- ##
==========================================
- Coverage 61.78% 61.64% -0.14%
==========================================
Files 139 139
Lines 13051 13051
Branches 1712 1712
==========================================
- Hits 8063 8045 -18
- Misses 4225 4241 +16
- Partials 763 765 +2 see 4 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
Benchmarks [ tracer ]Benchmark execution time: 2025-12-30 17:21:12 Comparing candidate commit 753738a in PR branch Found 5 performance improvements and 8 performance regressions! Performance is the same for 180 metrics, 1 unstable metrics. scenario:MessagePackSerializationBench/benchMessagePackSerialization
scenario:MessagePackSerializationBench/benchMessagePackSerialization-opcache
scenario:PDOBench/benchPDOOverhead
scenario:PDOBench/benchPDOOverhead-opcache
scenario:PDOBench/benchPDOOverheadWithDBM
scenario:PDOBench/benchPDOOverheadWithDBM-opcache
scenario:SamplingRuleMatchingBench/benchGlobMatching1
scenario:SamplingRuleMatchingBench/benchRegexMatching1
scenario:SamplingRuleMatchingBench/benchRegexMatching2
scenario:SamplingRuleMatchingBench/benchRegexMatching3
scenario:SamplingRuleMatchingBench/benchRegexMatching4
scenario:SpanBench/benchOpenTelemetryAPI
scenario:TraceSerializationBench/benchSerializeTrace
|
c1810e9 to
753738a
Compare
753738a to
86ffb66
Compare
aba777b to
fc4db39
Compare
Signed-off-by: Alexandre Rulleau <alexandre.rulleau@datadoghq.com>
fc4db39 to
c45a6f6
Compare
Description
Problem
DBM correlation was broken for PDO prepared statements. The traceparent SQL comment which DBM uses to correlate database queries with APM traces contained a span_id that didn't match the span representing the actual query execution.
Root Cause
When using prepared statements (PDO::prepare() + PDOStatement::execute()):
This prevented DBM from properly correlating database queries with their corresponding APM spans.
Solution
Following the RFC we now use SERVICE mode (DBM_PROPAGATION_SERVICE) for prepared statements instead of FULL mode.