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] Adding ddtags to snapshot query parameter #5210

Merged
merged 9 commits into from
Mar 8, 2024

Conversation

dudikeleti
Copy link
Contributor

@dudikeleti dudikeleti commented Feb 19, 2024

Summary of changes

Add ddtags to each snapshot post request

@github-actions github-actions bot added area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) area:debugger labels Feb 19, 2024
@datadog-ddstaging
Copy link

datadog-ddstaging bot commented Feb 19, 2024

Datadog Report

Branch report: dudik/add-ddtags-to-snapshot
Commit report: ea40848
Test service: dd-trace-dotnet

✅ 0 Failed, 332668 Passed, 2039 Skipped, 50m 54.55s Wall Time

@andrewlock
Copy link
Member

andrewlock commented Feb 19, 2024

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 (5210) - mean (74ms)  : 64, 83
     .   : milestone, 74,
    master - mean (74ms)  : 66, 83
     .   : milestone, 74,

    section CallTarget+Inlining+NGEN
    This PR (5210) - mean (985ms)  : 960, 1010
     .   : milestone, 985,
    master - mean (996ms)  : 972, 1020
     .   : milestone, 996,

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

    section CallTarget+Inlining+NGEN
    This PR (5210) - mean (716ms)  : 692, 740
     .   : milestone, 716,
    master - mean (717ms)  : 686, 749
     .   : milestone, 717,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5210) - mean (93ms)  : 90, 96
     .   : milestone, 93,
    master - mean (94ms)  : 91, 97
     .   : milestone, 94,

    section CallTarget+Inlining+NGEN
    This PR (5210) - mean (665ms)  : 641, 689
     .   : milestone, 665,
    master - mean (676ms)  : 641, 712
     .   : milestone, 676,

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

    section CallTarget+Inlining+NGEN
    This PR (5210) - mean (1,064ms)  : 1026, 1101
     .   : milestone, 1064,
    master - mean (1,064ms)  : 1037, 1091
     .   : milestone, 1064,

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

    section CallTarget+Inlining+NGEN
    This PR (5210) - mean (867ms)  : 837, 897
     .   : milestone, 867,
    master - mean (871ms)  : 843, 899
     .   : milestone, 871,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5210) - mean (261ms)  : 257, 265
     .   : milestone, 261,
    master - mean (261ms)  : 257, 265
     .   : milestone, 261,

    section CallTarget+Inlining+NGEN
    This PR (5210) - mean (853ms)  : 829, 877
     .   : milestone, 853,
    master - mean (857ms)  : 833, 881
     .   : milestone, 857,

Loading

@andrewlock
Copy link
Member

andrewlock commented Feb 19, 2024

Throughput/Crank Report:zap:

Throughput results for AspNetCoreSimpleController comparing the following branches/commits:

Cases where throughput results for the PR are worse than latest master (5% drop or greater), results are shown in red.

Note that these results are based on a single point-in-time result for each branch. For full results, see one of the many, many dashboards!

gantt
    title Throughput Linux x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (5210) (11.105M)   : 0, 11105324
    master (11.007M)   : 0, 11006674
    benchmarks/2.9.0 (11.269M)   : 0, 11269489

    section Automatic
    This PR (5210) (7.456M)   : 0, 7455743
    master (7.556M)   : 0, 7555579
    benchmarks/2.9.0 (8.237M)   : 0, 8236748

    section Trace stats
    This PR (5210) (7.832M)   : 0, 7831786
    master (7.855M)   : 0, 7855147

    section Manual
    This PR (5210) (9.307M)   : 0, 9306537
    master (9.556M)   : 0, 9555551

    section Manual + Automatic
    This PR (5210) (7.095M)   : 0, 7094673
    master (7.141M)   : 0, 7140945

    section Version Conflict
    This PR (5210) (6.445M)   : 0, 6445194
    master (6.452M)   : 0, 6451971

Loading
gantt
    title Throughput Linux arm64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (5210) (9.584M)   : 0, 9583788
    master (9.496M)   : 0, 9495623
    benchmarks/2.9.0 (9.335M)   : 0, 9334561

    section Automatic
    This PR (5210) (6.642M)   : 0, 6642448
    master (6.550M)   : 0, 6550088

    section Trace stats
    This PR (5210) (6.712M)   : 0, 6712144
    master (6.930M)   : 0, 6929825

    section Manual
    This PR (5210) (8.209M)   : 0, 8209415
    master (8.294M)   : 0, 8293659

    section Manual + Automatic
    This PR (5210) (6.150M)   : 0, 6150151
    master (6.274M)   : 0, 6273873

    section Version Conflict
    This PR (5210) (5.615M)   : 0, 5614723
    master (5.748M)   : 0, 5748183

Loading
gantt
    title Throughput Windows x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (5210) (10.612M)   : 0, 10612005
    master (10.120M)   : 0, 10120352
    benchmarks/2.9.0 (10.334M)   : 0, 10333846

    section Automatic
    This PR (5210) (7.370M)   : 0, 7369997
    master (7.343M)   : 0, 7343410
    benchmarks/2.9.0 (7.377M)   : 0, 7377326

    section Trace stats
    This PR (5210) (7.641M)   : 0, 7640877
    master (7.630M)   : 0, 7629966

    section Manual
    This PR (5210) (9.318M)   : 0, 9317729
    master (8.884M)   : 0, 8883719

    section Manual + Automatic
    This PR (5210) (7.092M)   : 0, 7092247
    master (6.989M)   : 0, 6989119

    section Version Conflict
    This PR (5210) (6.475M)   : 0, 6474548
    master (6.322M)   : 0, 6322239

Loading
gantt
    title Throughput Linux x64 (ASM) (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    master (7.454M)   : 0, 7454237
    benchmarks/2.9.0 (7.886M)   : 0, 7885996

    section No attack
    master (1.841M)   : 0, 1841297
    benchmarks/2.9.0 (3.256M)   : 0, 3255652

    section Attack
    master (1.454M)   : 0, 1454025
    benchmarks/2.9.0 (2.490M)   : 0, 2489577

    section Blocking
    master (3.195M)   : 0, 3194705

    section IAST default
    master (6.463M)   : 0, 6462928

    section IAST full
    master (5.595M)   : 0, 5594918

    section Base vuln
    master (0.946M)   : 0, 945501

    section IAST vuln
    master (0.849M)   : 0, 849226

Loading

@dudikeleti dudikeleti marked this pull request as ready for review February 20, 2024 12:32
@dudikeleti dudikeleti requested a review from a team as a code owner February 20, 2024 12:32
@dudikeleti dudikeleti force-pushed the dudik/add-ddtags-to-snapshot branch from 7e67a02 to 5082a4d Compare February 21, 2024 14:53
@andrewlock
Copy link
Member

Benchmarks Report 🐌

Benchmarks for #5210 compared to master:

  • 3 benchmarks are faster, with geometric mean 1.161
  • 1 benchmarks have fewer allocations
  • 2 benchmarks have more 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.46μs 47.1ns 323ns 0.0295 0.0126 0 7.49 KB
master StartStopWithChild netcoreapp3.1 10.7μs 56.5ns 370ns 0.0258 0.0103 0 7.59 KB
master StartStopWithChild net472 16.8μs 72.1ns 279ns 1.34 0.342 0.108 7.95 KB
#5210 StartStopWithChild net6.0 8.88μs 50ns 343ns 0.0217 0.00868 0 7.5 KB
#5210 StartStopWithChild netcoreapp3.1 10.7μs 59ns 354ns 0.0258 0.0103 0 7.59 KB
#5210 StartStopWithChild net472 16.6μs 67.5ns 261ns 1.36 0.352 0.126 7.97 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 485μs 337ns 1.31μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 637μs 187ns 699ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 820μs 1.72μs 6.21μs 0.403 0 0 3.3 KB
#5210 WriteAndFlushEnrichedTraces net6.0 458μs 202ns 782ns 0 0 0 2.7 KB
#5210 WriteAndFlushEnrichedTraces netcoreapp3.1 640μs 273ns 1.06μs 0 0 0 2.7 KB
#5210 WriteAndFlushEnrichedTraces net472 799μs 333ns 1.29μs 0.401 0 0 3.3 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #5210

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorMoreComplexBody‑net6.0 1.216 3,709.01 3,050.08
Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorMoreComplexBody‑net472 1.155 4,349.87 3,764.51

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 40.2μs 21.5ns 83.3ns 0.02 0 0 2.36 KB
master AllCycleSimpleBody netcoreapp3.1 44.4μs 27.5ns 99.1ns 0.0221 0 0 2.34 KB
master AllCycleSimpleBody net472 46.5μs 17ns 65.9ns 0.372 0 0 2.41 KB
master AllCycleMoreComplexBody net6.0 217μs 98.2ns 380ns 0.108 0 0 9.84 KB
master AllCycleMoreComplexBody netcoreapp3.1 228μs 171ns 662ns 0.113 0 0 9.73 KB
master AllCycleMoreComplexBody net472 240μs 55.8ns 216ns 1.56 0 0 9.91 KB
master ObjectExtractorSimpleBody net6.0 147ns 0.0798ns 0.298ns 0.00394 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 210ns 0.108ns 0.391ns 0.0036 0 0 272 B
master ObjectExtractorSimpleBody net472 168ns 0.0956ns 0.37ns 0.0446 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 3.71μs 2.69ns 10.1ns 0.0537 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 4.02μs 1.45ns 5.23ns 0.0503 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 4.35μs 2.6ns 10.1ns 0.603 0.00653 0 3.8 KB
#5210 AllCycleSimpleBody net6.0 40.4μs 16.8ns 63ns 0.0204 0 0 2.36 KB
#5210 AllCycleSimpleBody netcoreapp3.1 44μs 49.5ns 192ns 0.0218 0 0 2.34 KB
#5210 AllCycleSimpleBody net472 45.7μs 18.8ns 72.8ns 0.366 0 0 2.41 KB
#5210 AllCycleMoreComplexBody net6.0 214μs 135ns 523ns 0.107 0 0 9.84 KB
#5210 AllCycleMoreComplexBody netcoreapp3.1 223μs 244ns 912ns 0.112 0 0 9.73 KB
#5210 AllCycleMoreComplexBody net472 242μs 112ns 434ns 1.57 0 0 9.91 KB
#5210 ObjectExtractorSimpleBody net6.0 146ns 0.11ns 0.412ns 0.00391 0 0 280 B
#5210 ObjectExtractorSimpleBody netcoreapp3.1 199ns 0.0579ns 0.209ns 0.00373 0 0 272 B
#5210 ObjectExtractorSimpleBody net472 171ns 0.107ns 0.413ns 0.0446 0 0 281 B
#5210 ObjectExtractorMoreComplexBody net6.0 3.05μs 1.52ns 5.7ns 0.0533 0 0 3.78 KB
#5210 ObjectExtractorMoreComplexBody netcoreapp3.1 3.99μs 1.67ns 6.23ns 0.05 0 0 3.69 KB
#5210 ObjectExtractorMoreComplexBody net472 3.76μs 2.25ns 8.72ns 0.602 0.00562 0 3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EncodeArgs net6.0 51.4μs 82ns 307ns 0.438 0 0 30.94 KB
master EncodeArgs netcoreapp3.1 69.6μs 85ns 329ns 0.416 0 0 31.47 KB
master EncodeArgs net472 84.8μs 70.6ns 264ns 5.11 0.0845 0 32.27 KB
master EncodeLegacyArgs net6.0 125μs 202ns 781ns 0.436 0 0 33.89 KB
master EncodeLegacyArgs netcoreapp3.1 158μs 246ns 953ns 0.468 0 0 34.09 KB
master EncodeLegacyArgs net472 208μs 164ns 635ns 5.5 0.423 0 34.99 KB
#5210 EncodeArgs net6.0 52.7μs 81.7ns 316ns 0.421 0 0 30.94 KB
#5210 EncodeArgs netcoreapp3.1 70.6μs 73.7ns 276ns 0.423 0 0 31.47 KB
#5210 EncodeArgs net472 84.1μs 60ns 232ns 5.1 0.0843 0 32.27 KB
#5210 EncodeLegacyArgs net6.0 121μs 89.9ns 348ns 0.483 0 0 33.89 KB
#5210 EncodeLegacyArgs netcoreapp3.1 155μs 440ns 1.71μs 0.462 0 0 34.09 KB
#5210 EncodeLegacyArgs net472 213μs 105ns 393ns 5.47 0.421 0 35 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 RunWafRealisticBenchmark net6.0 194μs 86.5ns 312ns 0.0959 0 0 6.51 KB
master RunWafRealisticBenchmark netcoreapp3.1 204μs 271ns 1.05μs 0 0 0 6.49 KB
master RunWafRealisticBenchmark net472 224μs 153ns 593ns 1.01 0 0 6.59 KB
master RunWafRealisticBenchmarkWithAttack net6.0 126μs 160ns 619ns 0.063 0 0 4.15 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 134μs 207ns 802ns 0 0 0 4.14 KB
master RunWafRealisticBenchmarkWithAttack net472 148μs 65.3ns 253ns 0.659 0 0 4.19 KB
#5210 RunWafRealisticBenchmark net6.0 193μs 255ns 988ns 0 0 0 6.51 KB
#5210 RunWafRealisticBenchmark netcoreapp3.1 207μs 409ns 1.59μs 0 0 0 6.49 KB
#5210 RunWafRealisticBenchmark net472 224μs 73.9ns 267ns 1.01 0 0 6.59 KB
#5210 RunWafRealisticBenchmarkWithAttack net6.0 126μs 92.6ns 359ns 0.0623 0 0 4.15 KB
#5210 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 136μs 248ns 959ns 0 0 0 4.15 KB
#5210 RunWafRealisticBenchmarkWithAttack net472 147μs 54.4ns 211ns 0.66 0 0 4.19 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 172μs 211ns 816ns 0.17 0 0 18.26 KB
master SendRequest netcoreapp3.1 192μs 289ns 1.12μs 0.192 0 0 20.42 KB
master SendRequest net472 0.00108ns 0.000368ns 0.00142ns 0 0 0 0 b
#5210 SendRequest net6.0 170μs 148ns 554ns 0.256 0 0 18.26 KB
#5210 SendRequest netcoreapp3.1 193μs 182ns 680ns 0.192 0 0 20.42 KB
#5210 SendRequest net472 0.000412ns 0.00018ns 0.000624ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #5210

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.43 KB 41.66 KB 226 B 0.55%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 552μs 1.86μs 7.19μs 0.556 0 0 41.43 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 661μs 928ns 3.59μs 0.331 0 0 41.94 KB
master WriteAndFlushEnrichedTraces net472 839μs 3.15μs 11.8μs 8.28 2.48 0.414 53.26 KB
#5210 WriteAndFlushEnrichedTraces net6.0 543μs 244ns 913ns 0.543 0 0 41.66 KB
#5210 WriteAndFlushEnrichedTraces netcoreapp3.1 656μs 1.48μs 5.75μs 0.324 0 0 41.97 KB
#5210 WriteAndFlushEnrichedTraces net472 831μs 4.1μs 16.9μs 8.45 2.53 0.422 53.22 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.13μs 0.466ns 1.81ns 0.0108 0 0 776 B
master ExecuteNonQuery netcoreapp3.1 1.52μs 0.546ns 2.04ns 0.0105 0 0 776 B
master ExecuteNonQuery net472 1.78μs 4.74ns 18.4ns 0.116 0 0 738 B
#5210 ExecuteNonQuery net6.0 1.07μs 0.807ns 3.02ns 0.0108 0 0 776 B
#5210 ExecuteNonQuery netcoreapp3.1 1.5μs 1.35ns 5.24ns 0.0105 0 0 776 B
#5210 ExecuteNonQuery net472 1.72μs 1.19ns 4.61ns 0.117 0 0 738 B
Benchmarks.Trace.ElasticsearchBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #5210

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.113 2,876.09 2,583.77

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.23μs 0.565ns 2.11ns 0.013 0 0 944 B
master CallElasticsearch netcoreapp3.1 1.54μs 0.742ns 2.87ns 0.0123 0 0 944 B
master CallElasticsearch net472 2.48μs 0.776ns 2.9ns 0.152 0 0 963 B
master CallElasticsearchAsync net6.0 1.32μs 0.621ns 2.32ns 0.0131 0 0 920 B
master CallElasticsearchAsync netcoreapp3.1 1.62μs 1.05ns 3.64ns 0.013 0 0 992 B
master CallElasticsearchAsync net472 2.88μs 0.99ns 3.43ns 0.161 0 0 1.02 KB
#5210 CallElasticsearch net6.0 1.15μs 2.37ns 8.56ns 0.0128 0 0 944 B
#5210 CallElasticsearch netcoreapp3.1 1.59μs 1.69ns 6.55ns 0.0128 0 0 944 B
#5210 CallElasticsearch net472 2.46μs 1.42ns 5.51ns 0.152 0 0 963 B
#5210 CallElasticsearchAsync net6.0 1.34μs 0.661ns 2.56ns 0.0127 0 0 920 B
#5210 CallElasticsearchAsync netcoreapp3.1 1.59μs 1.14ns 4.4ns 0.0134 0 0 992 B
#5210 CallElasticsearchAsync net472 2.58μs 2.16ns 8.36ns 0.161 0 0 1.02 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.32μs 0.829ns 3.1ns 0.0131 0 0 920 B
master ExecuteAsync netcoreapp3.1 1.68μs 0.62ns 2.24ns 0.0118 0 0 920 B
master ExecuteAsync net472 1.68μs 0.669ns 2.59ns 0.14 0 0 883 B
#5210 ExecuteAsync net6.0 1.25μs 0.884ns 3.31ns 0.0126 0 0 920 B
#5210 ExecuteAsync netcoreapp3.1 1.67μs 1.58ns 5.9ns 0.0125 0 0 920 B
#5210 ExecuteAsync net472 1.86μs 0.477ns 1.85ns 0.14 0 0 883 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 4.12μs 1.13ns 4.38ns 0.0288 0 0 2.1 KB
master SendAsync netcoreapp3.1 4.97μs 1.71ns 6.4ns 0.0348 0 0 2.64 KB
master SendAsync net472 7.76μs 2.95ns 11.4ns 0.523 0 0 3.31 KB
#5210 SendAsync net6.0 3.96μs 0.925ns 3.34ns 0.0277 0 0 2.1 KB
#5210 SendAsync netcoreapp3.1 4.91μs 1.83ns 6.86ns 0.0344 0 0 2.64 KB
#5210 SendAsync net472 7.66μs 1.55ns 6ns 0.524 0 0 3.31 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #5210

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 59.04 KB 61.77 KB 2.73 KB 4.62%

Fewer allocations 🎉 in #5210

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 213.25 KB 204.62 KB -8.63 KB -4.05%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 53μs 264ns 1.12μs 0 0 0 43.44 KB
master StringConcatBenchmark netcoreapp3.1 60.7μs 583ns 5.43μs 0 0 0 42.64 KB
master StringConcatBenchmark net472 38μs 159ns 572ns 0 0 0 59.04 KB
master StringConcatAspectBenchmark net6.0 265μs 1.16μs 4.18μs 0 0 0 213.25 KB
master StringConcatAspectBenchmark netcoreapp3.1 287μs 1.62μs 10.7μs 0 0 0 202.14 KB
master StringConcatAspectBenchmark net472 227μs 1.05μs 3.93μs 0 0 0 221.18 KB
#5210 StringConcatBenchmark net6.0 53.1μs 227ns 850ns 0 0 0 43.44 KB
#5210 StringConcatBenchmark netcoreapp3.1 56.9μs 614ns 6.11μs 0 0 0 42.64 KB
#5210 StringConcatBenchmark net472 37μs 90.7ns 327ns 0 0 0 61.77 KB
#5210 StringConcatAspectBenchmark net6.0 248μs 3.52μs 32.8μs 0 0 0 204.62 KB
#5210 StringConcatAspectBenchmark netcoreapp3.1 277μs 1.44μs 8.24μs 0 0 0 201.42 KB
#5210 StringConcatAspectBenchmark net472 243μs 3.33μs 31.8μs 0 0 0 221.18 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.58μs 0.5ns 1.94ns 0.0221 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 2.11μs 1.53ns 5.92ns 0.0212 0 0 1.58 KB
master EnrichedLog net472 2.5μs 2.77ns 10.7ns 0.239 0 0 1.51 KB
#5210 EnrichedLog net6.0 1.47μs 0.718ns 2.69ns 0.0224 0 0 1.58 KB
#5210 EnrichedLog netcoreapp3.1 2.32μs 1.16ns 4.35ns 0.0219 0 0 1.58 KB
#5210 EnrichedLog net472 2.48μs 4.46ns 17.3ns 0.238 0 0 1.51 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 115μs 308ns 1.19μs 0.057 0 0 4.22 KB
master EnrichedLog netcoreapp3.1 118μs 140ns 543ns 0.0596 0 0 4.22 KB
master EnrichedLog net472 148μs 79.6ns 287ns 0.665 0.222 0 4.4 KB
#5210 EnrichedLog net6.0 114μs 65ns 225ns 0.057 0 0 4.22 KB
#5210 EnrichedLog netcoreapp3.1 119μs 147ns 549ns 0.059 0 0 4.22 KB
#5210 EnrichedLog net472 150μs 101ns 363ns 0.658 0.219 0 4.4 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 3.16μs 1.04ns 4.02ns 0.03 0 0 2.14 KB
master EnrichedLog netcoreapp3.1 4.19μs 2.37ns 8.88ns 0.0271 0 0 2.14 KB
master EnrichedLog net472 4.95μs 1.13ns 4.38ns 0.309 0 0 1.95 KB
#5210 EnrichedLog net6.0 3.23μs 1.11ns 4.29ns 0.0291 0 0 2.14 KB
#5210 EnrichedLog netcoreapp3.1 4.09μs 2.03ns 7.87ns 0.0287 0 0 2.14 KB
#5210 EnrichedLog net472 4.64μs 1.07ns 3.7ns 0.31 0 0 1.95 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 0.797ns 2.98ns 0.0156 0 0 1.11 KB
master SendReceive netcoreapp3.1 1.71μs 0.558ns 1.93ns 0.0146 0 0 1.11 KB
master SendReceive net472 2.21μs 1.61ns 6.24ns 0.178 0 0 1.12 KB
#5210 SendReceive net6.0 1.29μs 0.661ns 2.38ns 0.0154 0 0 1.11 KB
#5210 SendReceive netcoreapp3.1 1.75μs 0.798ns 3.09ns 0.0149 0 0 1.11 KB
#5210 SendReceive net472 2.16μs 0.825ns 2.86ns 0.178 0 0 1.12 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.94μs 0.585ns 2.19ns 0.0207 0 0 1.54 KB
master EnrichedLog netcoreapp3.1 3.84μs 1.77ns 6.87ns 0.0211 0 0 1.58 KB
master EnrichedLog net472 4.32μs 2.55ns 9.88ns 0.312 0 0 1.97 KB
#5210 EnrichedLog net6.0 2.82μs 0.914ns 3.54ns 0.0208 0 0 1.54 KB
#5210 EnrichedLog netcoreapp3.1 3.93μs 1.55ns 5.8ns 0.0217 0 0 1.58 KB
#5210 EnrichedLog net472 4.36μs 2.72ns 10.5ns 0.311 0 0 1.97 KB
Benchmarks.Trace.SpanBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 447ns 0.819ns 3.17ns 0.00764 0 0 544 B
master StartFinishSpan netcoreapp3.1 701ns 1.1ns 4.27ns 0.00736 0 0 544 B
master StartFinishSpan net472 736ns 1.62ns 6.28ns 0.0865 0 0 546 B
master StartFinishScope net6.0 613ns 1.3ns 5.04ns 0.00942 0 0 664 B
master StartFinishScope netcoreapp3.1 855ns 1.04ns 4.02ns 0.00912 0 0 664 B
master StartFinishScope net472 966ns 1.28ns 4.97ns 0.0992 0 0 626 B
#5210 StartFinishSpan net6.0 445ns 0.966ns 3.74ns 0.00765 0 0 544 B
#5210 StartFinishSpan netcoreapp3.1 748ns 1.65ns 6.41ns 0.00703 0 0 544 B
#5210 StartFinishSpan net472 744ns 1.9ns 7.36ns 0.0866 0 0 546 B
#5210 StartFinishScope net6.0 617ns 1.32ns 5.13ns 0.00938 0 0 664 B
#5210 StartFinishScope netcoreapp3.1 863ns 1.55ns 5.99ns 0.0091 0 0 664 B
#5210 StartFinishScope net472 959ns 2.13ns 8.24ns 0.0994 0 0 626 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 618ns 0.847ns 3.28ns 0.00942 0 0 664 B
master RunOnMethodBegin netcoreapp3.1 930ns 1.39ns 5.38ns 0.00855 0 0 664 B
master RunOnMethodBegin net472 1.11μs 2.02ns 7.83ns 0.0991 0 0 626 B
#5210 RunOnMethodBegin net6.0 579ns 1.28ns 4.95ns 0.0094 0 0 664 B
#5210 RunOnMethodBegin netcoreapp3.1 940ns 1.75ns 6.79ns 0.00921 0 0 664 B
#5210 RunOnMethodBegin net472 1.14μs 2.27ns 8.78ns 0.0993 0 0 626 B

Copy link
Contributor

@GreenMatan GreenMatan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about ddtags of the snapshot - do we also want to address that by not assigning UnknownValue?

@dudikeleti dudikeleti force-pushed the dudik/add-ddtags-to-snapshot branch 3 times, most recently from 4c2a238 to 4e30c71 Compare March 6, 2024 16:06
@dudikeleti dudikeleti requested a review from a team as a code owner March 6, 2024 17:08
Copy link
Collaborator

@OmerRaviv OmerRaviv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with a couple small comments

Copy link
Collaborator

@zacharycmontoya zacharycmontoya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with one small comment

@dudikeleti dudikeleti requested a review from a team as a code owner March 7, 2024 10:27
@dudikeleti dudikeleti force-pushed the dudik/add-ddtags-to-snapshot branch from c2dfb0d to f34a0dc Compare March 7, 2024 10:39
Copy link
Contributor

github-actions bot commented Mar 7, 2024

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.

189 occurrences of :

-    "ddtags": "Unknown",

@dudikeleti dudikeleti force-pushed the dudik/add-ddtags-to-snapshot branch from 67d8b25 to ea40848 Compare March 7, 2024 14:57
@dudikeleti dudikeleti merged commit 5a75734 into master Mar 8, 2024
59 of 61 checks passed
@dudikeleti dudikeleti deleted the dudik/add-ddtags-to-snapshot branch March 8, 2024 10:46
@github-actions github-actions bot added this to the vNext milestone Mar 8, 2024
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.

6 participants