Skip to content
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

[Dynamic Instrumentation] Improved probe status polling mechanism + fixed snapshot issues #4678

Merged
merged 2 commits into from
Oct 29, 2023

Conversation

GreenMatan
Copy link
Contributor

@GreenMatan GreenMatan commented Oct 2, 2023

Summary of changes

  • Added 'probe version' in snapshots - to allow the frontend to deprecate old snapshots
  • Fixed the positioning of 'noCapturedReason' in the snapshot
  • Increased the polling interval of probe statuses and improved its machinery in avoiding dangling statuses.

@GreenMatan GreenMatan requested a review from a team as a code owner October 2, 2023 12:44
@GreenMatan GreenMatan requested a review from dudikeleti October 2, 2023 12:52
@GreenMatan GreenMatan changed the title [Dynamic Instrumentation] Increase probe status polling + fixed snapshot issues [Dynamic Instrumentation] Improved probe status polling machinery + fixed snapshot issues Oct 2, 2023
@GreenMatan GreenMatan changed the title [Dynamic Instrumentation] Improved probe status polling machinery + fixed snapshot issues [Dynamic Instrumentation] Improved probe status polling mechanism + fixed snapshot issues Oct 2, 2023
@GreenMatan GreenMatan force-pushed the matang/probe-status-interval branch from 2069dfd to 7742f06 Compare October 2, 2023 12:57
@github-actions github-actions bot added the area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) label Oct 2, 2023
@datadog-ddstaging
Copy link

datadog-ddstaging bot commented Oct 2, 2023

Datadog Report

Branch report: matang/probe-status-interval
Commit report: f7c0eb0

dd-trace-dotnet: 200 Failed (0 Known Flaky), 0 New Flaky, 189121 Passed, 1374 Skipped, 21m 46.79s Wall Time

❌ Failed Tests (200)

This report shows up to 5 failed tests.

  • InvalidDiagnosticsInterval_DefaultUsed - Datadog.Trace.Tests.Debugger.DebuggerSettingsTests - Details

    Expand for error
     Expected value to be 5, but found 3600.
    
  • InvalidDiagnosticsInterval_DefaultUsed - Datadog.Trace.Tests.Debugger.DebuggerSettingsTests - Details

    Expand for error
     Expected value to be 5, but found 3600.
    
  • InvalidDiagnosticsInterval_DefaultUsed - Datadog.Trace.Tests.Debugger.DebuggerSettingsTests - Details

    Expand for error
     Expected value to be 5, but found 3600.
    
  • InvalidDiagnosticsInterval_DefaultUsed - Datadog.Trace.Tests.Debugger.DebuggerSettingsTests - Details

    Expand for error
     Expected value to be 5, but found 3600.
    
  • InvalidDiagnosticsInterval_DefaultUsed - Datadog.Trace.Tests.Debugger.DebuggerSettingsTests - Details

    Expand for error
     Expected value to be 5, but found 3600.
    

@andrewlock
Copy link
Member

andrewlock commented Oct 2, 2023

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing the following branches/commits:

Execution-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 shown in red. The following thresholds were used for comparing the execution times:

  • Welch test with statistical test for significance of 5%
  • Only results indicating a difference greater than 5% and 5 ms are considered.

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).

gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (4678) - mean (73ms)  : 61, 84
     .   : milestone, 73,
    master - mean (68ms)  : 64, 72
     .   : milestone, 68,

    section CallTarget+Inlining+NGEN
    This PR (4678) - mean (1,023ms)  : 992, 1055
     .   : milestone, 1023,
    master - mean (1,010ms)  : 990, 1029
     .   : milestone, 1010,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (4678) - mean (106ms)  : 101, 111
     .   : milestone, 106,
    master - mean (106ms)  : 104, 108
     .   : milestone, 106,

    section CallTarget+Inlining+NGEN
    This PR (4678) - mean (714ms)  : 692, 736
     .   : milestone, 714,
    master - mean (714ms)  : 687, 742
     .   : milestone, 714,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (4678) - mean (90ms)  : 83, 98
     .   : milestone, 90,
    master - mean (89ms)  : 87, 92
     .   : milestone, 89,

    section CallTarget+Inlining+NGEN
    This PR (4678) - mean (674ms)  : 656, 692
     .   : milestone, 674,
    master - mean (677ms)  : 653, 702
     .   : milestone, 677,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (4678) - mean (188ms)  : 185, 192
     .   : milestone, 188,
    master - mean (188ms)  : 187, 190
     .   : milestone, 188,

    section CallTarget+Inlining+NGEN
    This PR (4678) - mean (1,128ms)  : 1111, 1144
     .   : milestone, 1128,
    master - mean (1,131ms)  : 1108, 1154
     .   : milestone, 1131,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (4678) - mean (271ms)  : 267, 275
     .   : milestone, 271,
    master - mean (271ms)  : 268, 274
     .   : milestone, 271,

    section CallTarget+Inlining+NGEN
    This PR (4678) - mean (1,109ms)  : 1093, 1124
     .   : milestone, 1109,
    master - mean (1,107ms)  : 1082, 1132
     .   : milestone, 1107,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (4678) - mean (260ms)  : 255, 266
     .   : milestone, 260,
    master - mean (260ms)  : 257, 264
     .   : milestone, 260,

    section CallTarget+Inlining+NGEN
    This PR (4678) - mean (1,061ms)  : 1041, 1080
     .   : milestone, 1061,
    master - mean (1,060ms)  : 1042, 1077
     .   : milestone, 1060,

Loading

@GreenMatan GreenMatan force-pushed the matang/probe-status-interval branch from 7742f06 to 9b8ad5f Compare October 2, 2023 15:27
@github-actions
Copy link
Contributor

github-actions bot commented Oct 2, 2023

Snapshots difference summary

The following differences have been observed in committed snapshots. It is meant to help the reviewer.
The diff is simplistic, so please check some files anyway while we improve it.

185 occurrences of :

+          "version": 0

2 occurrences of :

-                    "type": "List`1",
-                    "value": "count: 1"
+                    "size": 1,
+                    "type": "List`1"

2 occurrences of :

-                        "type": "List`1",
-                        "value": "count: 1"
+                        "size": 1,
+                        "type": "List`1"

2 occurrences of :

-                  "type": "List`1",
-                  "value": "count: 0"
+                  "size": 0,
+                  "type": "List`1"

9 occurrences of :

-                  "type": "List`1",
-                  "value": "count: 1"
+                  "size": 1,
+                  "type": "List`1"

23 occurrences of :

-                      "type": "List`1",
-                      "value": "count: 1"
+                      "size": 1,
+                      "type": "List`1"

3 occurrences of :

-                          "type": "List`1",
-                          "value": "count: 1"
+                          "size": 1,
+                          "type": "List`1"

6 occurrences of :

-                "type": "List`1",
-                "value": "count: 2"
+                "size": 2,
+                "type": "List`1"

2 occurrences of :

-                    "type": "List`1",
-                    "value": "count: 2"
+                    "size": 2,
+                    "type": "List`1"

3 occurrences of :

-                "type": "List`1",
-                "value": "count: 1"
+                "size": 1,
+                "type": "List`1"

2 occurrences of :

-                    "type": "State[]",
-                    "value": "count: 10"
+                    "size": 10,
+                    "type": "State[]"

2 occurrences of :

-                    "type": "State[]",
-                    "value": "count: 10"
+                    "size": 10,
+                    "type": "State[]"
[...]
-                "type": "State[][]",
-                "value": "count: 2"
+                "size": 2,
+                "type": "State[][]"

4 occurrences of :

-                "type": "String[]",
-                "value": "count: 3"
+                "size": 3,
+                "type": "String[]"

@andrewlock
Copy link
Member

andrewlock commented Oct 2, 2023

Benchmarks Report 🐌

Benchmarks for #4678 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.206
  • 2 benchmarks are slower, with geometric mean 1.152
  • 1 benchmarks have fewer allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.ActivityBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 8.15μs 45.3ns 276ns 0.0161 0.00803 0 7.29 KB
master StartStopWithChild netcoreapp3.1 9.8μs 53.4ns 320ns 0.0233 0.00931 0 7.39 KB
master StartStopWithChild net472 16μs 65.6ns 254ns 1.29 0.314 0.0967 7.66 KB
#4678 StartStopWithChild net6.0 8.36μs 46.7ns 291ns 0.0211 0.00846 0 7.29 KB
#4678 StartStopWithChild netcoreapp3.1 10.6μs 56.7ns 316ns 0.0315 0.0105 0 7.38 KB
#4678 StartStopWithChild net472 15.5μs 56.9ns 220ns 1.28 0.329 0.102 7.65 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 477μs 247ns 956ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 622μs 274ns 1.06μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 793μs 282ns 1.09μs 0.396 0 0 3.3 KB
#4678 WriteAndFlushEnrichedTraces net6.0 470μs 248ns 961ns 0 0 0 2.7 KB
#4678 WriteAndFlushEnrichedTraces netcoreapp3.1 646μs 149ns 517ns 0 0 0 2.7 KB
#4678 WriteAndFlushEnrichedTraces net472 796μs 242ns 907ns 0.398 0 0 3.3 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 44.5μs 26.2ns 102ns 0.0219 0 0 2.03 KB
master AllCycleSimpleBody netcoreapp3.1 45.8μs 146ns 567ns 0.0231 0 0 2.01 KB
master AllCycleSimpleBody net472 46.9μs 36.2ns 140ns 0.326 0 0 2.08 KB
master AllCycleMoreComplexBody net6.0 231μs 154ns 596ns 0.115 0 0 8.63 KB
master AllCycleMoreComplexBody netcoreapp3.1 237μs 189ns 709ns 0 0 0 8.52 KB
master AllCycleMoreComplexBody net472 242μs 148ns 575ns 1.32 0 0 8.7 KB
master ObjectExtractorSimpleBody net6.0 118ns 0.132ns 0.494ns 0.00396 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 186ns 0.958ns 4.5ns 0.00379 0 0 272 B
master ObjectExtractorSimpleBody net472 144ns 0.0681ns 0.264ns 0.0446 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 3.04μs 1.41ns 5.09ns 0.0548 0 0 3.88 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 4.18μs 3.53ns 13.7ns 0.0504 0 0 3.78 KB
master ObjectExtractorMoreComplexBody net472 4.19μs 5.31ns 20.6ns 0.618 0.00624 0 3.89 KB
#4678 AllCycleSimpleBody net6.0 43.7μs 19.3ns 72.2ns 0.0222 0 0 2.03 KB
#4678 AllCycleSimpleBody netcoreapp3.1 45.6μs 98.7ns 382ns 0.0229 0 0 2.01 KB
#4678 AllCycleSimpleBody net472 46.5μs 23.3ns 87.2ns 0.307 0 0 2.08 KB
#4678 AllCycleMoreComplexBody net6.0 228μs 86.7ns 336ns 0.113 0 0 8.63 KB
#4678 AllCycleMoreComplexBody netcoreapp3.1 235μs 116ns 448ns 0 0 0 8.52 KB
#4678 AllCycleMoreComplexBody net472 237μs 97.3ns 351ns 1.31 0 0 8.7 KB
#4678 ObjectExtractorSimpleBody net6.0 117ns 0.0777ns 0.301ns 0.00393 0 0 280 B
#4678 ObjectExtractorSimpleBody netcoreapp3.1 182ns 0.169ns 0.584ns 0.00365 0 0 272 B
#4678 ObjectExtractorSimpleBody net472 150ns 0.16ns 0.62ns 0.0446 0 0 281 B
#4678 ObjectExtractorMoreComplexBody net6.0 3.06μs 1.94ns 7.26ns 0.0534 0 0 3.88 KB
#4678 ObjectExtractorMoreComplexBody netcoreapp3.1 4.21μs 14.9ns 57.5ns 0.0517 0 0 3.78 KB
#4678 ObjectExtractorMoreComplexBody net472 4.14μs 1.61ns 6.02ns 0.619 0.00621 0 3.89 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWaf(args=NestedMap (10)) net6.0 12.6μs 3.68ns 13.8ns 0.132 0 0 9.42 KB
master RunWaf(args=NestedMap (10)) netcoreapp3.1 19.4μs 4.81ns 17.4ns 0.126 0 0 9.42 KB
master RunWaf(args=NestedMap (10)) net472 28.2μs 10.3ns 37ns 1.5 0 0 9.48 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) net6.0 77.2μs 89ns 333ns 0.192 0 0 15.77 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) netcoreapp3.1 86.9μs 196ns 733ns 0.216 0 0 15.72 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) net472 99.2μs 40.9ns 158ns 2.5 0 0 16.04 KB
master RunWaf(args=NestedMap (100)) net6.0 24.6μs 10.9ns 40.6ns 0.271 0 0 19.66 KB
master RunWaf(args=NestedMap (100)) netcoreapp3.1 37.9μs 16.7ns 64.5ns 0.265 0 0 20.42 KB
master RunWaf(args=NestedMap (100)) net472 54.7μs 24.5ns 91.7ns 3.26 0.0274 0 20.63 KB
master RunWafWithAttack(args=Neste(...)tack) [23]) net6.0 93.2μs 50.9ns 197ns 0.325 0 0 26.01 KB
master RunWafWithAttack(args=Neste(...)tack) [23]) netcoreapp3.1 109μs 121ns 469ns 0.328 0 0 26.72 KB
master RunWafWithAttack(args=Neste(...)tack) [23]) net472 133μs 284ns 1.1μs 4.3 0.0661 0 27.19 KB
master RunWaf(args=NestedMap (20)) net6.0 23.5μs 6.25ns 23.4ns 0.271 0 0 19.4 KB
master RunWaf(args=NestedMap (20)) netcoreapp3.1 37.5μs 13.9ns 50.1ns 0.264 0 0 19.84 KB
master RunWaf(args=NestedMap (20)) net472 57.5μs 23.5ns 91ns 3.16 0.0574 0 20.04 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) net6.0 91.9μs 182ns 704ns 0.322 0 0 25.74 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) netcoreapp3.1 109μs 169ns 654ns 0.328 0 0 26.14 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) net472 132μs 138ns 534ns 4.21 0.0657 0 26.6 KB
#4678 RunWaf(args=NestedMap (10)) net6.0 12.6μs 6.63ns 24.8ns 0.133 0 0 9.42 KB
#4678 RunWaf(args=NestedMap (10)) netcoreapp3.1 19.5μs 6.51ns 23.5ns 0.126 0 0 9.42 KB
#4678 RunWaf(args=NestedMap (10)) net472 29μs 7.44ns 26.8ns 1.51 0 0 9.48 KB
#4678 RunWafWithAttack(args=Neste(...)tack) [22]) net6.0 77.3μs 28.9ns 112ns 0.193 0 0 15.77 KB
#4678 RunWafWithAttack(args=Neste(...)tack) [22]) netcoreapp3.1 86.4μs 107ns 413ns 0.217 0 0 15.72 KB
#4678 RunWafWithAttack(args=Neste(...)tack) [22]) net472 98.8μs 217ns 841ns 2.52 0 0 16.04 KB
#4678 RunWaf(args=NestedMap (100)) net6.0 24.2μs 7.85ns 28.3ns 0.278 0 0 19.66 KB
#4678 RunWaf(args=NestedMap (100)) netcoreapp3.1 38.2μs 13.2ns 51.2ns 0.268 0 0 20.42 KB
#4678 RunWaf(args=NestedMap (100)) net472 54.9μs 11.9ns 41.1ns 3.27 0.055 0 20.63 KB
#4678 RunWafWithAttack(args=Neste(...)tack) [23]) net6.0 92.1μs 185ns 716ns 0.371 0 0 26.01 KB
#4678 RunWafWithAttack(args=Neste(...)tack) [23]) netcoreapp3.1 109μs 72.5ns 271ns 0.329 0 0 26.72 KB
#4678 RunWafWithAttack(args=Neste(...)tack) [23]) net472 134μs 105ns 395ns 4.29 0.0671 0 27.19 KB
#4678 RunWaf(args=NestedMap (20)) net6.0 23.7μs 13.9ns 53.8ns 0.272 0 0 19.4 KB
#4678 RunWaf(args=NestedMap (20)) netcoreapp3.1 38.3μs 16ns 59.8ns 0.268 0 0 19.84 KB
#4678 RunWaf(args=NestedMap (20)) net472 56.5μs 34.4ns 133ns 3.16 0.0565 0 20.04 KB
#4678 RunWafWithAttack(args=Neste(...)tack) [22]) net6.0 93.9μs 87.6ns 339ns 0.332 0 0 25.74 KB
#4678 RunWafWithAttack(args=Neste(...)tack) [22]) netcoreapp3.1 108μs 190ns 737ns 0.325 0 0 26.14 KB
#4678 RunWafWithAttack(args=Neste(...)tack) [22]) net472 129μs 195ns 757ns 4.18 0.0643 0 26.6 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 169μs 166ns 642ns 0.253 0 0 18.09 KB
master SendRequest netcoreapp3.1 186μs 269ns 1.04μs 0.186 0 0 20.25 KB
master SendRequest net472 0.000856ns 0.000436ns 0.00169ns 0 0 0 0 b
#4678 SendRequest net6.0 169μs 119ns 461ns 0.251 0 0 18.09 KB
#4678 SendRequest netcoreapp3.1 189μs 240ns 928ns 0.188 0 0 20.25 KB
#4678 SendRequest net472 0.00268ns 0.00067ns 0.00259ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #4678

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 41.99 KB 41.61 KB -373 B -0.89%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 555μs 984ns 3.68μs 0.543 0 0 41.73 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 651μs 1.4μs 5.42μs 0.326 0 0 41.99 KB
master WriteAndFlushEnrichedTraces net472 854μs 3.15μs 12.2μs 8.19 2.59 0.431 53.26 KB
#4678 WriteAndFlushEnrichedTraces net6.0 544μs 1.64μs 6.35μs 0.546 0 0 41.6 KB
#4678 WriteAndFlushEnrichedTraces netcoreapp3.1 670μs 1.39μs 5.36μs 0.336 0 0 41.61 KB
#4678 WriteAndFlushEnrichedTraces net472 835μs 2.5μs 9μs 8.13 2.57 0.428 53.22 KB
Benchmarks.Trace.DbCommandBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #4678

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net6.0 1.131 965.43 1,092.19

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 965ns 0.401ns 1.55ns 0.0106 0 0 768 B
master ExecuteNonQuery netcoreapp3.1 1.28μs 1.58ns 6.13ns 0.0101 0 0 768 B
master ExecuteNonQuery net472 1.61μs 0.584ns 2.26ns 0.116 0 0 730 B
#4678 ExecuteNonQuery net6.0 1.09μs 0.576ns 2.23ns 0.0104 0 0 768 B
#4678 ExecuteNonQuery netcoreapp3.1 1.35μs 1.88ns 7.28ns 0.0102 0 0 768 B
#4678 ExecuteNonQuery net472 1.62μs 0.559ns 2.01ns 0.116 0 0 730 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.23μs 1.4ns 5.41ns 0.0136 0 0 992 B
master CallElasticsearch netcoreapp3.1 1.44μs 0.402ns 1.5ns 0.0135 0 0 992 B
master CallElasticsearch net472 2.33μs 2.25ns 8.73ns 0.158 0 0 1 KB
master CallElasticsearchAsync net6.0 1.33μs 1.31ns 4.9ns 0.0137 0 0 968 B
master CallElasticsearchAsync netcoreapp3.1 1.45μs 0.96ns 3.72ns 0.0138 0 0 1.04 KB
master CallElasticsearchAsync net472 2.56μs 4.06ns 15.7ns 0.167 0 0 1.06 KB
#4678 CallElasticsearch net6.0 1.22μs 0.838ns 3.25ns 0.0141 0 0 992 B
#4678 CallElasticsearch netcoreapp3.1 1.45μs 0.397ns 1.43ns 0.0131 0 0 992 B
#4678 CallElasticsearch net472 2.27μs 1.1ns 4.11ns 0.159 0 0 1 KB
#4678 CallElasticsearchAsync net6.0 1.27μs 0.41ns 1.53ns 0.0134 0 0 968 B
#4678 CallElasticsearchAsync netcoreapp3.1 1.58μs 0.478ns 1.85ns 0.0135 0 0 1.04 KB
#4678 CallElasticsearchAsync net472 2.49μs 2.41ns 9.32ns 0.167 0 0 1.06 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net6.0 1.29μs 0.634ns 2.29ns 0.0123 0 0 912 B
master ExecuteAsync netcoreapp3.1 1.45μs 0.631ns 2.44ns 0.0122 0 0 912 B
master ExecuteAsync net472 1.7μs 1.18ns 4.56ns 0.139 0 0 875 B
#4678 ExecuteAsync net6.0 1.27μs 2.44ns 9.46ns 0.0128 0 0 912 B
#4678 ExecuteAsync netcoreapp3.1 1.47μs 0.843ns 3.26ns 0.0124 0 0 912 B
#4678 ExecuteAsync net472 1.76μs 0.614ns 2.3ns 0.139 0 0 875 B
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 3.8μs 1.33ns 5.15ns 0.0264 0 0 1.94 KB
master SendAsync netcoreapp3.1 4.47μs 2.49ns 8.98ns 0.0335 0 0 2.48 KB
master SendAsync net472 7.07μs 1.2ns 4.31ns 0.484 0 0 3.05 KB
#4678 SendAsync net6.0 3.86μs 1.27ns 4.74ns 0.0271 0 0 1.94 KB
#4678 SendAsync netcoreapp3.1 4.49μs 1.83ns 6.61ns 0.0313 0 0 2.48 KB
#4678 SendAsync net472 7.15μs 1.64ns 6.13ns 0.484 0 0 3.05 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 1.32μs 0.657ns 2.46ns 0.0227 0 0 1.62 KB
master EnrichedLog netcoreapp3.1 2.03μs 1.02ns 3.69ns 0.0223 0 0 1.62 KB
master EnrichedLog net472 2.21μs 2.31ns 8.95ns 0.244 0 0 1.54 KB
#4678 EnrichedLog net6.0 1.3μs 0.808ns 3.13ns 0.0229 0 0 1.62 KB
#4678 EnrichedLog netcoreapp3.1 1.96μs 0.899ns 3.36ns 0.0217 0 0 1.62 KB
#4678 EnrichedLog net472 2.36μs 2.57ns 9.61ns 0.244 0 0 1.54 KB
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 112μs 115ns 447ns 0.0561 0 0 4.21 KB
master EnrichedLog netcoreapp3.1 118μs 102ns 352ns 0 0 0 4.21 KB
master EnrichedLog net472 148μs 112ns 436ns 0.668 0.223 0 4.38 KB
#4678 EnrichedLog net6.0 111μs 86ns 322ns 0.0551 0 0 4.21 KB
#4678 EnrichedLog netcoreapp3.1 117μs 203ns 787ns 0 0 0 4.21 KB
#4678 EnrichedLog net472 145μs 60.5ns 234ns 0.653 0.218 0 4.38 KB
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.91μs 1.31ns 5.09ns 0.0306 0 0 2.18 KB
master EnrichedLog netcoreapp3.1 3.86μs 2.04ns 7.36ns 0.0291 0 0 2.18 KB
master EnrichedLog net472 4.65μs 2.33ns 9.01ns 0.314 0 0 1.99 KB
#4678 EnrichedLog net6.0 2.94μs 1.06ns 3.97ns 0.0297 0 0 2.18 KB
#4678 EnrichedLog netcoreapp3.1 3.75μs 3.15ns 11.4ns 0.0299 0 0 2.18 KB
#4678 EnrichedLog net472 4.68μs 1.79ns 6.95ns 0.315 0 0 1.99 KB
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 1.35μs 1.03ns 3.99ns 0.0161 0 0 1.16 KB
master SendReceive netcoreapp3.1 1.61μs 0.817ns 3.06ns 0.0152 0 0 1.16 KB
master SendReceive net472 2.07μs 1.33ns 5.16ns 0.184 0.00104 0 1.16 KB
#4678 SendReceive net6.0 1.33μs 1.09ns 4.08ns 0.0162 0 0 1.16 KB
#4678 SendReceive netcoreapp3.1 1.56μs 1.33ns 5.13ns 0.0155 0 0 1.16 KB
#4678 SendReceive net472 2.02μs 0.66ns 2.29ns 0.184 0 0 1.16 KB
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.55μs 1.06ns 3.95ns 0.0216 0 0 1.53 KB
master EnrichedLog netcoreapp3.1 3.8μs 3.2ns 12ns 0.0206 0 0 1.58 KB
master EnrichedLog net472 4.13μs 2.13ns 7.96ns 0.31 0 0 1.96 KB
#4678 EnrichedLog net6.0 2.56μs 0.739ns 2.86ns 0.0204 0 0 1.53 KB
#4678 EnrichedLog netcoreapp3.1 3.6μs 1.5ns 5.6ns 0.0216 0 0 1.58 KB
#4678 EnrichedLog net472 3.99μs 2.7ns 10.5ns 0.311 0 0 1.96 KB
Benchmarks.Trace.SpanBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #4678

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.206 730.60 606.03

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 394ns 0.179ns 0.669ns 0.00753 0 0 536 B
master StartFinishSpan netcoreapp3.1 617ns 0.354ns 1.32ns 0.00712 0 0 536 B
master StartFinishSpan net472 731ns 0.213ns 0.798ns 0.0852 0 0 538 B
master StartFinishScope net6.0 536ns 0.205ns 0.766ns 0.00921 0 0 656 B
master StartFinishScope netcoreapp3.1 700ns 0.346ns 1.34ns 0.00891 0 0 656 B
master StartFinishScope net472 800ns 0.623ns 2.41ns 0.0979 0 0 618 B
#4678 StartFinishSpan net6.0 403ns 0.545ns 2.11ns 0.00755 0 0 536 B
#4678 StartFinishSpan netcoreapp3.1 626ns 0.267ns 1.04ns 0.00736 0 0 536 B
#4678 StartFinishSpan net472 602ns 1.44ns 5.58ns 0.0854 0 0 538 B
#4678 StartFinishScope net6.0 527ns 0.31ns 1.2ns 0.00928 0 0 656 B
#4678 StartFinishScope netcoreapp3.1 653ns 0.205ns 0.738ns 0.009 0 0 656 B
#4678 StartFinishScope net472 843ns 0.634ns 2.45ns 0.0979 0 0 618 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #4678

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.174 849.07 996.55

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 639ns 0.452ns 1.75ns 0.00919 0 0 656 B
master RunOnMethodBegin netcoreapp3.1 788ns 0.357ns 1.38ns 0.00899 0 0 656 B
master RunOnMethodBegin net472 850ns 0.358ns 1.39ns 0.098 0 0 618 B
#4678 RunOnMethodBegin net6.0 575ns 0.19ns 0.709ns 0.00928 0 0 656 B
#4678 RunOnMethodBegin netcoreapp3.1 770ns 0.289ns 1.04ns 0.00893 0 0 656 B
#4678 RunOnMethodBegin net472 996ns 0.787ns 3.05ns 0.0979 0 0 618 B

@GreenMatan GreenMatan force-pushed the matang/probe-status-interval branch 2 times, most recently from b6d5df2 to f7c0eb0 Compare October 3, 2023 09:45
@GreenMatan GreenMatan force-pushed the matang/probe-status-interval branch 3 times, most recently from 988b362 to 61e3bfe Compare October 10, 2023 10:13
@datadog-ddstaging
Copy link

datadog-ddstaging bot commented Oct 10, 2023

Datadog Report

Branch report: matang/probe-status-interval
Commit report: ddffdcf

dd-trace-dotnet: 0 Failed, 0 New Flaky, 309971 Passed, 1441 Skipped, 30m 50.4s Wall Time

@GreenMatan GreenMatan force-pushed the matang/probe-status-interval branch 3 times, most recently from 5e4418e to 7e1fbc0 Compare October 11, 2023 14:12
@GreenMatan GreenMatan force-pushed the matang/probe-status-interval branch from 7e1fbc0 to ddffdcf Compare October 16, 2023 12:57
@GreenMatan GreenMatan merged commit b3144f5 into master Oct 29, 2023
@GreenMatan GreenMatan deleted the matang/probe-status-interval branch October 29, 2023 18:21
@github-actions github-actions bot added this to the vNext milestone Oct 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:debugger area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants