Conversation
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8296) and master. ✅ No regressions detected - check the details below Full Metrics ComparisonFakeDbCommand
HttpMessageHandler
Comparison explanationExecution-time benchmarks measure the whole time it takes to execute a program, and are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are highlighted in **red**. The following thresholds were used for comparing the execution times:
Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard. Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph). Duration chartsFakeDbCommand (.NET Framework 4.8)gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8296) - mean (72ms) : 70, 74
master - mean (72ms) : 70, 74
section Bailout
This PR (8296) - mean (77ms) : 75, 78
master - mean (77ms) : 74, 79
section CallTarget+Inlining+NGEN
This PR (8296) - mean (1,082ms) : 1035, 1128
master - mean (1,080ms) : 1031, 1128
FakeDbCommand (.NET Core 3.1)gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8296) - mean (113ms) : 109, 116
master - mean (114ms) : 110, 117
section Bailout
This PR (8296) - mean (115ms) : 113, 117
master - mean (114ms) : 112, 117
section CallTarget+Inlining+NGEN
This PR (8296) - mean (797ms) : 777, 818
master - mean (795ms) : 778, 813
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8296) - mean (99ms) : 97, 102
master - mean (100ms) : 96, 103
section Bailout
This PR (8296) - mean (100ms) : 98, 103
master - mean (101ms) : 98, 104
section CallTarget+Inlining+NGEN
This PR (8296) - mean (953ms) : 909, 998
master - mean (951ms) : 908, 994
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8296) - mean (98ms) : 96, 100
master - mean (98ms) : 94, 103
section Bailout
This PR (8296) - mean (100ms) : 98, 103
master - mean (99ms) : 97, 101
section CallTarget+Inlining+NGEN
This PR (8296) - mean (832ms) : 799, 865
master - mean (829ms) : 800, 858
HttpMessageHandler (.NET Framework 4.8)gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8296) - mean (188ms) : 186, 191
master - mean (189ms) : 185, 194
section Bailout
This PR (8296) - mean (192ms) : 191, 194
master - mean (192ms) : 190, 194
section CallTarget+Inlining+NGEN
This PR (8296) - mean (1,151ms) : 1100, 1202
master - mean (1,154ms) : 1084, 1225
HttpMessageHandler (.NET Core 3.1)gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8296) - mean (271ms) : 267, 276
master - mean (273ms) : 269, 277
section Bailout
This PR (8296) - mean (271ms) : 269, 274
master - mean (273ms) : 270, 276
section CallTarget+Inlining+NGEN
This PR (8296) - mean (939ms) : 916, 962
master - mean (941ms) : 921, 962
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8296) - mean (265ms) : 261, 268
master - mean (265ms) : 262, 269
section Bailout
This PR (8296) - mean (265ms) : 262, 267
master - mean (265ms) : 263, 268
section CallTarget+Inlining+NGEN
This PR (8296) - mean (1,148ms) : 1111, 1186
master - mean (1,147ms) : 1104, 1190
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8296) - mean (264ms) : 259, 268
master - mean (263ms) : 259, 268
section Bailout
This PR (8296) - mean (263ms) : 261, 265
master - mean (263ms) : 260, 266
section CallTarget+Inlining+NGEN
This PR (8296) - mean (1,036ms) : 992, 1080
master - mean (1,026ms) : 985, 1067
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6dce309671
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
tracer/src/Datadog.Trace/Configuration/supported-configurations.yaml
Outdated
Show resolved
Hide resolved
BenchmarksBenchmark execution time: 2026-03-31 09:04:27 Comparing candidate commit bbf97ba in PR branch Found 10 performance improvements and 8 performance regressions! Performance is the same for 259 metrics, 11 unstable metrics.
|
Snapshots difference summaryThe following differences have been observed in committed snapshots. It is meant to help the reviewer. 4 occurrences of : + "_dd.tags.process": "entrypoint.basedir:VALUE,entrypoint.name:VALUE,entrypoint.workdir:VALUE,svc.auto:VALUE",
|
628b73f to
b7ec679
Compare
tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/DataStreamsMonitoringKafkaTests.cs
Show resolved
Hide resolved
tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/DataStreamsMonitoringRabbitMQTests.cs
Show resolved
Hide resolved
tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsManagerTests.cs
Outdated
Show resolved
Hide resolved
tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsMessagePackFormatterTests.cs
Outdated
Show resolved
Hide resolved
| var topicSuffix = $"{nameof(SubmitsDataStreams)}-{(enableConsumerScopeCreation ? "1" : "0")}-{(enableLegacyHeaders ? "1" : "0")}"; | ||
|
|
||
| SetEnvironmentVariable(ConfigurationKeys.DataStreamsMonitoring.Enabled, "1"); | ||
| SetEnvironmentVariable(ConfigurationKeys.PropagateProcessTags, "0"); |
There was a problem hiding this comment.
What aren't we disabling this here? 🤔 Is there a compatibility issue with DSM?
There was a problem hiding this comment.
it's just that process tags influence the DSM hash, and I already have a ton of snapshot changes, I wanted to spare myself the hassle of dealing with those on top of the current ones
I'd like to treat those as a follow up
tracer/test/Datadog.Trace.TestHelpers.SharedSource/VerifyHelper.cs
Outdated
Show resolved
Hide resolved
tracer/test/Datadog.Trace.TestHelpers.SharedSource/VerifyHelper.cs
Outdated
Show resolved
Hide resolved
bbf97ba to
db4195f
Compare
c766949 to
d98c88b
Compare
|
@codex review |
|
Codex Review: Didn't find any major issues. Nice work! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
| public async Task SubmitsDsmMetrics(string packageVersion, string metadataSchemaVersion) | ||
| { | ||
| SetEnvironmentVariable(ConfigurationKeys.DataStreamsMonitoring.Enabled, "1"); | ||
| SetEnvironmentVariable(ConfigurationKeys.PropagateProcessTags, "0"); |
There was a problem hiding this comment.
It's not clear to me why we are disabling this setting in several tests that also enable DSM. Is there an interaction between the two settings? Do we have any tests where both are enabled?
tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/AWS/DataStreamsMonitoringAwsKinesisTests.cs
tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/AWS/DataStreamsMonitoringAwsSnsTests.cs
tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/AWS/DataStreamsMonitoringAwsSqsTests.cs
tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/DataStreamsMonitoringManualApiTest.cs
tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsManagerTests.cs
tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsMessagePackFormatterTests.cs
There was a problem hiding this comment.
Ahh, I see you a replied here already: #8296 (comment)
This reverts commit b68393d.
## Summary of changes follow up on #8296 debugger itests didn't run in the PR so we missed the fact that we need to apply the same scrubbing we did on other tests for those too ## Reason for change ## Implementation details ## Test coverage ## Other details <!-- Fixes #{issue} --> <!--⚠️ Note: Where possible, please obtain 2 approvals prior to merging. Unless CODEOWNERS specifies otherwise, for external teams it is typically best to have one review from a team member, and one review from apm-dotnet. Trivial changes do not require 2 reviews. MergeQueue is NOT enabled in this repository. If you have write access to the repo, the PR has 1-2 approvals (see above), and all of the required checks have passed, you can use the Squash and Merge button to merge the PR. If you don't have write access, or you need help, reach out in the #apm-dotnet channel in Slack. -->
Summary of changes
all features have been implemented, we can now GA this to all customers
Reason for change
Implementation details
depends on
#8061
#8163
#8295
theoretically, #8282 as well
Test coverage
Other details
I took the liberty to refactor the asserts in AgentWriterTest to use actual asserts instead of asserting through the mock's
Verify, so that we get more actionable errors when the test fails