-
Notifications
You must be signed in to change notification settings - Fork 151
[Dynamic Instrumentation] DEBUG-4089 Support file-based debugger probes #7833
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
This comment has been minimized.
This comment has been minimized.
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (7833) 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 (7833) - mean (76ms) : 71, 81
master - mean (76ms) : 70, 81
section Bailout
This PR (7833) - mean (80ms) : 76, 85
master - mean (82ms) : 76, 87
section CallTarget+Inlining+NGEN
This PR (7833) - mean (1,121ms) : 1058, 1183
master - mean (1,123ms) : 1054, 1192
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 (7833) - mean (118ms) : 111, 125
master - mean (120ms) : 112, 128
section Bailout
This PR (7833) - mean (120ms) : 112, 128
master - mean (120ms) : 112, 128
section CallTarget+Inlining+NGEN
This PR (7833) - mean (803ms) : 760, 847
master - mean (805ms) : 765, 846
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7833) - mean (106ms) : 99, 113
master - mean (106ms) : 99, 112
section Bailout
This PR (7833) - mean (106ms) : 99, 113
master - mean (107ms) : 98, 116
section CallTarget+Inlining+NGEN
This PR (7833) - mean (749ms) : 714, 784
master - mean (764ms) : 718, 811
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7833) - mean (103ms) : 96, 111
master - mean (105ms) : 97, 113
section Bailout
This PR (7833) - mean (105ms) : 99, 111
master - mean (107ms) : 99, 115
section CallTarget+Inlining+NGEN
This PR (7833) - mean (709ms) : 681, 736
master - mean (718ms) : 687, 749
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 (7833) - mean (193ms) : 189, 197
master - mean (195ms) : 191, 200
section Bailout
This PR (7833) - mean (196ms) : 192, 200
master - mean (199ms) : 193, 205
section CallTarget+Inlining+NGEN
This PR (7833) - mean (1,179ms) : 1108, 1249
master - mean (1,178ms) : 1109, 1248
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 (7833) - mean (278ms) : 273, 283
master - mean (285ms) : 272, 299
section Bailout
This PR (7833) - mean (277ms) : 273, 282
master - mean (280ms) : 275, 286
section CallTarget+Inlining+NGEN
This PR (7833) - mean (946ms) : 905, 987
master - mean (956ms) : 896, 1015
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7833) - mean (271ms) : 264, 277
master - mean (272ms) : 266, 277
section Bailout
This PR (7833) - mean (271ms) : 266, 276
master - mean (277ms) : 262, 292
section CallTarget+Inlining+NGEN
This PR (7833) - mean (928ms) : 877, 978
master - mean (943ms) : 886, 999
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7833) - mean (271ms) : 266, 276
master - mean (272ms) : 266, 278
section Bailout
This PR (7833) - mean (270ms) : 267, 273
master - mean (274ms) : 266, 283
section CallTarget+Inlining+NGEN
This PR (7833) - mean (859ms) : 833, 884
master - mean (863ms) : 837, 889
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Summary of changes
Added support to load log/metric/span/span‑decoration probes from a JSON file (DebuggerSettings.ProbeFile)
Reason for change
Dynamic Instrumentation only worked with RCM‑delivered probes. There was no support for loading probes from a local file, and the internal configuration state wasn’t designed for combining file and RCM probes or handling file‑only
Implementation details
Test coverage
Updated DynamicInstrumentationTests to cover file probe loading (multiple probe types, invalid/missing/empty files, no file configured, partially valid file entries, and duplicate IDs within a file) and merge semantics between file and RCM probes.