fix(microbenchmarks): restore CI Visibility reporting to Datadog#8483
fix(microbenchmarks): restore CI Visibility reporting to Datadog#8483andrewlock merged 2 commits intomasterfrom
Conversation
BenchmarksBenchmark execution time: 2026-04-20 11:20:44 Comparing candidate commit 611f6bb in PR branch Found 1 performance improvements and 1 performance regressions! Performance is the same for 25 metrics, 0 unstable metrics, 87 known flaky benchmarks.
|
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8483) 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 (8483) - mean (72ms) : 70, 75
master - mean (74ms) : 70, 78
section Bailout
This PR (8483) - mean (77ms) : 75, 79
master - mean (77ms) : 75, 79
section CallTarget+Inlining+NGEN
This PR (8483) - mean (1,080ms) : 1034, 1126
master - mean (1,083ms) : 1014, 1152
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 (8483) - mean (114ms) : 111, 117
master - mean (115ms) : 111, 119
section Bailout
This PR (8483) - mean (117ms) : 111, 123
master - mean (115ms) : 112, 118
section CallTarget+Inlining+NGEN
This PR (8483) - mean (794ms) : 768, 819
master - mean (794ms) : 771, 817
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8483) - mean (104ms) : 98, 110
master - mean (100ms) : 96, 103
section Bailout
This PR (8483) - mean (102ms) : 99, 106
master - mean (104ms) : 99, 108
section CallTarget+Inlining+NGEN
This PR (8483) - mean (943ms) : 914, 971
master - mean (940ms) : 907, 973
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8483) - mean (99ms) : 96, 103
master - mean (99ms) : 96, 102
section Bailout
This PR (8483) - mean (100ms) : 98, 102
master - mean (101ms) : 97, 105
section CallTarget+Inlining+NGEN
This PR (8483) - mean (829ms) : 790, 868
master - mean (824ms) : 786, 861
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 (8483) - mean (200ms) : 193, 207
master - mean (191ms) : 187, 195
section Bailout
This PR (8483) - mean (203ms) : 199, 206
master - mean (194ms) : 192, 197
section CallTarget+Inlining+NGEN
This PR (8483) - mean (1,187ms) : 1141, 1234
master - mean (1,155ms) : 1092, 1218
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 (8483) - mean (287ms) : 280, 293
master - mean (274ms) : 270, 278
section Bailout
This PR (8483) - mean (288ms) : 280, 296
master - mean (274ms) : 271, 276
section CallTarget+Inlining+NGEN
This PR (8483) - mean (958ms) : 928, 989
master - mean (926ms) : 905, 947
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8483) - mean (281ms) : 275, 288
master - mean (268ms) : 264, 272
section Bailout
This PR (8483) - mean (280ms) : 274, 286
master - mean (268ms) : 265, 271
section CallTarget+Inlining+NGEN
This PR (8483) - mean (1,156ms) : 1120, 1192
master - mean (1,133ms) : 1089, 1177
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8483) - mean (281ms) : 274, 288
master - mean (265ms) : 262, 269
section Bailout
This PR (8483) - mean (280ms) : crit, 274, 285
master - mean (265ms) : 262, 268
section CallTarget+Inlining+NGEN
This PR (8483) - mean (1,051ms) : 979, 1123
master - mean (1,018ms) : 979, 1057
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Summary of changes
DD_CIVISIBILITY_AGENTLESS_ENABLED=1on the benchmark process in.gitlab/benchmarks/microbenchmarks/scripts/run-benchmarks.ps1whenDD_API_KEYis present, and defaultDD_SITE=datadoghq.com..gitlab/benchmarks/microbenchmarks.ymlfromci.dd-trace-dotnet.dd_api_keytoci.dd-trace-dotnet.dd_api_key-prodto match the key the previous pipeline was using.Reason for change
Microbenchmark results stopped being reported to Datadog on April 8, 2026, after #8300 moved the Windows microbenchmark runner from
benchmarking-platform@dd-trace-dotnet/microinto this repo. TheDatadog.Trace.BenchmarkDotNetexporter ships results to Datadog via CI Visibility, and the old flow enabled agentless mode (DD_CIVISIBILITY_AGENTLESS_ENABLED=1) with a production SSM key — two details that were not carried over in the rewrite, so the exporter silently failed to reach intake.Cross-reference with the old script:
benchmarking-platform/run-benchmarks.ps1:128($env:DD_CIVISIBILITY_AGENTLESS_ENABLED=1) andbenchmarking-platform/steps/run-windows-benchmarks.sh:9(ci.${CI_PROJECT_NAME}.dd_api_key-prod).Implementation details
run-benchmarks.ps1now guards the agentless toggle onDD_API_KEYbeing set, so local/dev invocations without a key continue to behave as before (warn and skip agentless) rather than attempting — and failing — to hit intake.Build.cs, tracer code, or the benchmark projects. This is purely a CI config fix.Test coverage
bp-runner.windows.yml: the env vars are set inrun-benchmarks.ps1afterBuildTracerHome/BuildBenchmarksand before the BDN CLI is invoked — i.e., inherited by every BDN child process.Other details