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

Baggage part 1/3: change propagator signatures #6157

Merged
merged 40 commits into from
Nov 1, 2024

Conversation

lucaspimentel
Copy link
Member

@lucaspimentel lucaspimentel commented Oct 15, 2024

Summary of changes

First of multiple PRs to add OpenTelemetry baggage support.

This PR prepares propagators to support baggage. Since all propagators are currently trace propagators and work on SpanContext, this PR changes all propagator signatures to accept or return a new PropationContext instead. PropationContext is a light container for both the existing SpanContext and the new Baggage type.

Baggage progpation across services is not implemented in this PR.

Reason for change

Adding support for OpenTelemetry baggage.

Implementation details

  • Add Baggage class
  • Add PropagationContext, which contains SpanContext and Baggage
  • Modify all propagator signatures (and usages) to replace SpanContext with PropagationContext

Test coverage

  • added unit tests for Baggage (get, set, remove, etc)
  • existing propagators are already covered by extensive tests

Other details

Copy link
Member Author

lucaspimentel commented Oct 15, 2024

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @lucaspimentel and the rest of your teammates on Graphite Graphite

@lucaspimentel lucaspimentel changed the title misc code clean up Baggage, part 1/2 Oct 15, 2024
@datadog-ddstaging
Copy link

datadog-ddstaging bot commented Oct 15, 2024

Datadog Report

Branch report: lpimentel/baggage-datadog-api-1
Commit report: 6c5a422
Test service: dd-trace-dotnet

✅ 0 Failed, 365792 Passed, 2090 Skipped, 15h 38m 23.02s Total Time

@lucaspimentel lucaspimentel force-pushed the lpimentel/baggage-datadog-api-1 branch 4 times, most recently from 421d2ff to c758827 Compare October 17, 2024 21:34
@lucaspimentel lucaspimentel changed the title Baggage, part 1/2 Baggage part 1/2: change propagator signatures Oct 18, 2024
@lucaspimentel lucaspimentel added area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) type:new-feature labels Oct 18, 2024
@lucaspimentel lucaspimentel marked this pull request as ready for review October 18, 2024 19:37
@lucaspimentel lucaspimentel requested review from a team as code owners October 18, 2024 19:37
@andrewlock
Copy link
Member

andrewlock commented Oct 18, 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 (6157) - mean (71ms)  : 68, 74
     .   : milestone, 71,
    master - mean (70ms)  : 68, 73
     .   : milestone, 70,

    section CallTarget+Inlining+NGEN
    This PR (6157) - mean (1,115ms)  : 1088, 1142
     .   : milestone, 1115,
    master - mean (1,117ms)  : 1095, 1139
     .   : milestone, 1117,

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

    section CallTarget+Inlining+NGEN
    This PR (6157) - mean (775ms)  : 757, 793
     .   : milestone, 775,
    master - mean (777ms)  : 762, 791
     .   : milestone, 777,

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

    section CallTarget+Inlining+NGEN
    This PR (6157) - mean (731ms)  : 713, 748
     .   : milestone, 731,
    master - mean (734ms)  : 717, 751
     .   : milestone, 734,

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

    section CallTarget+Inlining+NGEN
    This PR (6157) - mean (1,225ms)  : 1196, 1253
     .   : milestone, 1225,
    master - mean (1,204ms)  : 1177, 1232
     .   : milestone, 1204,

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

    section CallTarget+Inlining+NGEN
    This PR (6157) - mean (942ms)  : 922, 962
     .   : milestone, 942,
    master - mean (948ms)  : 927, 969
     .   : milestone, 948,

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

    section CallTarget+Inlining+NGEN
    This PR (6157) - mean (928ms)  : 905, 951
     .   : milestone, 928,
    master - mean (929ms)  : 912, 946
     .   : milestone, 929,

Loading

@andrewlock
Copy link
Member

andrewlock commented Oct 18, 2024

Throughput/Crank Report ⚡

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 (6157) (11.095M)   : 0, 11095090
    master (11.226M)   : 0, 11226424
    benchmarks/2.9.0 (11.081M)   : 0, 11080577

    section Automatic
    This PR (6157) (7.176M)   : 0, 7176106
    master (7.333M)   : 0, 7332814
    benchmarks/2.9.0 (7.732M)   : 0, 7732233

    section Trace stats
    master (7.694M)   : 0, 7694111

    section Manual
    master (10.976M)   : 0, 10975947

    section Manual + Automatic
    This PR (6157) (6.736M)   : 0, 6736190
    master (6.797M)   : 0, 6796973

    section DD_TRACE_ENABLED=0
    master (10.273M)   : 0, 10272898

Loading
gantt
    title Throughput Linux arm64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (6157) (9.569M)   : 0, 9569188
    master (9.814M)   : 0, 9814194
    benchmarks/2.9.0 (9.798M)   : 0, 9798067

    section Automatic
    This PR (6157) (6.451M)   : 0, 6450609
    master (6.631M)   : 0, 6631124

    section Trace stats
    master (6.694M)   : 0, 6694154

    section Manual
    master (9.462M)   : 0, 9461559

    section Manual + Automatic
    This PR (6157) (6.120M)   : 0, 6120243
    master (6.167M)   : 0, 6166825

    section DD_TRACE_ENABLED=0
    master (8.879M)   : 0, 8879082

Loading
gantt
    title Throughput Windows x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (6157) (9.927M)   : 0, 9927144
    master (9.833M)   : 0, 9833269
    benchmarks/2.9.0 (10.067M)   : 0, 10067315

    section Automatic
    This PR (6157) (6.175M)   : 0, 6174627
    master (6.309M)   : 0, 6308709
    benchmarks/2.9.0 (7.552M)   : 0, 7552193

    section Trace stats
    master (7.061M)   : 0, 7060512

    section Manual
    master (9.653M)   : 0, 9652511

    section Manual + Automatic
    This PR (6157) (5.682M)   : 0, 5682246
    master (5.845M)   : 0, 5844711

    section DD_TRACE_ENABLED=0
    master (9.195M)   : 0, 9195277

Loading

@lucaspimentel lucaspimentel force-pushed the lpimentel/baggage-datadog-api-1 branch 2 times, most recently from 3d56729 to be793d8 Compare October 18, 2024 21:40
@andrewlock
Copy link
Member

andrewlock commented Oct 18, 2024

Benchmarks Report for tracer 🐌

Benchmarks for #6157 compared to master:

  • All benchmarks have the same speed
  • 8 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 ✔️ More allocations ⚠️

More allocations ⚠️ in #6157

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 5.61 KB 5.8 KB 191 B 3.40%
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net6.0 5.43 KB 5.61 KB 183 B 3.37%
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 6.06 KB 6.2 KB 148 B 2.44%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 7.7μs 44.5ns 378ns 0.0151 0.00756 0 5.43 KB
master StartStopWithChild netcoreapp3.1 9.91μs 54.8ns 338ns 0.0196 0.00979 0 5.61 KB
master StartStopWithChild net472 16.4μs 58.8ns 228ns 1 0.3 0.081 6.06 KB
#6157 StartStopWithChild net6.0 8.22μs 47.1ns 377ns 0.0128 0.00426 0 5.61 KB
#6157 StartStopWithChild netcoreapp3.1 10.1μs 56.4ns 338ns 0.015 0.005 0 5.8 KB
#6157 StartStopWithChild net472 17.8μs 80.5ns 312ns 1.06 0.335 0.0883 6.2 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 492μs 477ns 1.85μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 660μs 300ns 1.12μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 838μs 611ns 2.28μs 0.417 0 0 3.3 KB
#6157 WriteAndFlushEnrichedTraces net6.0 474μs 289ns 1.12μs 0 0 0 2.7 KB
#6157 WriteAndFlushEnrichedTraces netcoreapp3.1 650μs 197ns 738ns 0 0 0 2.7 KB
#6157 WriteAndFlushEnrichedTraces net472 845μs 438ns 1.69μs 0.419 0 0 3.3 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #6157

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑net6.0 18.45 KB 18.73 KB 281 B 1.52%
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.61 KB 20.89 KB 280 B 1.36%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 214μs 1.25μs 12.1μs 0.218 0 0 18.45 KB
master SendRequest netcoreapp3.1 241μs 1.37μs 10.5μs 0.236 0 0 20.61 KB
master SendRequest net472 0.00301ns 0.0011ns 0.00426ns 0 0 0 0 b
#6157 SendRequest net6.0 216μs 1.25μs 10.6μs 0.208 0 0 18.73 KB
#6157 SendRequest netcoreapp3.1 241μs 1.41μs 13μs 0.244 0 0 20.89 KB
#6157 SendRequest net472 0.00152ns 0.00063ns 0.00236ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 616μs 3.53μs 25.4μs 0.625 0 0 41.65 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 745μs 3.82μs 19.1μs 0.342 0 0 41.77 KB
master WriteAndFlushEnrichedTraces net472 926μs 4.67μs 20.4μs 8.4 2.33 0.466 53.33 KB
#6157 WriteAndFlushEnrichedTraces net6.0 598μs 3.24μs 18.3μs 0.581 0 0 41.6 KB
#6157 WriteAndFlushEnrichedTraces netcoreapp3.1 722μs 4.19μs 35.8μs 0.338 0 0 41.85 KB
#6157 WriteAndFlushEnrichedTraces net472 863μs 4.09μs 15.8μs 8.3 2.62 0.437 53.29 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.3μs 1.29ns 4.98ns 0.0143 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 1.77μs 5.81ns 21ns 0.0139 0 0 1.02 KB
master ExecuteNonQuery net472 2.09μs 1.33ns 5.16ns 0.156 0.00105 0 987 B
#6157 ExecuteNonQuery net6.0 1.32μs 1.73ns 6.46ns 0.0145 0 0 1.02 KB
#6157 ExecuteNonQuery netcoreapp3.1 1.77μs 1.17ns 4.54ns 0.0133 0 0 1.02 KB
#6157 ExecuteNonQuery net472 2.11μs 2.32ns 8.97ns 0.156 0.00106 0 987 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.22μs 0.299ns 1.16ns 0.0135 0 0 976 B
master CallElasticsearch netcoreapp3.1 1.44μs 0.845ns 3.16ns 0.0131 0 0 976 B
master CallElasticsearch net472 2.59μs 2.03ns 7.85ns 0.157 0 0 995 B
master CallElasticsearchAsync net6.0 1.38μs 0.775ns 2.9ns 0.0131 0 0 952 B
master CallElasticsearchAsync netcoreapp3.1 1.52μs 0.687ns 2.48ns 0.0138 0 0 1.02 KB
master CallElasticsearchAsync net472 2.58μs 1.61ns 6.24ns 0.167 0 0 1.05 KB
#6157 CallElasticsearch net6.0 1.26μs 0.77ns 2.98ns 0.0139 0 0 976 B
#6157 CallElasticsearch netcoreapp3.1 1.49μs 0.805ns 2.9ns 0.0136 0 0 976 B
#6157 CallElasticsearch net472 2.54μs 1.93ns 7.47ns 0.158 0 0 995 B
#6157 CallElasticsearchAsync net6.0 1.32μs 0.774ns 2.9ns 0.0132 0 0 952 B
#6157 CallElasticsearchAsync netcoreapp3.1 1.67μs 0.555ns 2.08ns 0.0142 0 0 1.02 KB
#6157 CallElasticsearchAsync net472 2.61μs 0.513ns 1.78ns 0.167 0 0 1.05 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.34μs 0.467ns 1.81ns 0.0134 0 0 952 B
master ExecuteAsync netcoreapp3.1 1.58μs 0.606ns 2.27ns 0.0126 0 0 952 B
master ExecuteAsync net472 1.75μs 0.676ns 2.62ns 0.145 0 0 915 B
#6157 ExecuteAsync net6.0 1.33μs 1.09ns 4.07ns 0.0134 0 0 952 B
#6157 ExecuteAsync netcoreapp3.1 1.52μs 0.743ns 2.88ns 0.013 0 0 952 B
#6157 ExecuteAsync net472 1.75μs 0.547ns 2.05ns 0.145 0 0 915 B
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #6157

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net6.0 2.22 KB 2.31 KB 88 B 3.96%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.76 KB 2.85 KB 88 B 3.19%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 3.07 KB 3.12 KB 49 B 1.60%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 4.15μs 2.43ns 9.1ns 0.031 0 0 2.22 KB
master SendAsync netcoreapp3.1 5.17μs 3.02ns 11.7ns 0.0362 0 0 2.76 KB
master SendAsync net472 7.2μs 2.05ns 7.95ns 0.486 0 0 3.07 KB
#6157 SendAsync net6.0 4.39μs 2.78ns 10.4ns 0.0329 0 0 2.31 KB
#6157 SendAsync netcoreapp3.1 5.31μs 2.04ns 7.37ns 0.0372 0 0 2.85 KB
#6157 SendAsync net472 7.36μs 2.34ns 9.08ns 0.494 0 0 3.12 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.52μs 0.828ns 3.1ns 0.0229 0 0 1.64 KB
master EnrichedLog netcoreapp3.1 2.23μs 1ns 3.76ns 0.0224 0 0 1.64 KB
master EnrichedLog net472 2.57μs 1ns 3.75ns 0.249 0 0 1.57 KB
#6157 EnrichedLog net6.0 1.55μs 1.01ns 3.92ns 0.0233 0 0 1.64 KB
#6157 EnrichedLog netcoreapp3.1 2.34μs 1.24ns 4.31ns 0.0221 0 0 1.64 KB
#6157 EnrichedLog net472 2.58μs 2.17ns 7.51ns 0.249 0 0 1.57 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 116μs 267ns 1.04μs 0.0573 0 0 4.28 KB
master EnrichedLog netcoreapp3.1 121μs 206ns 799ns 0 0 0 4.28 KB
master EnrichedLog net472 152μs 209ns 811ns 0.681 0.227 0 4.46 KB
#6157 EnrichedLog net6.0 117μs 434ns 1.68μs 0 0 0 4.28 KB
#6157 EnrichedLog netcoreapp3.1 124μs 237ns 854ns 0.0622 0 0 4.28 KB
#6157 EnrichedLog net472 153μs 214ns 743ns 0.688 0.229 0 4.46 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.14μs 0.991ns 3.84ns 0.0298 0 0 2.2 KB
master EnrichedLog netcoreapp3.1 4.12μs 1.39ns 5.2ns 0.0292 0 0 2.2 KB
master EnrichedLog net472 4.84μs 0.87ns 3.37ns 0.319 0 0 2.02 KB
#6157 EnrichedLog net6.0 3.07μs 1.03ns 4.01ns 0.0308 0 0 2.2 KB
#6157 EnrichedLog netcoreapp3.1 4.27μs 1.16ns 4.47ns 0.0281 0 0 2.2 KB
#6157 EnrichedLog net472 4.7μs 0.943ns 3.65ns 0.321 0 0 2.02 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.05ns 4.06ns 0.0162 0 0 1.14 KB
master SendReceive netcoreapp3.1 1.68μs 1.36ns 5.28ns 0.0156 0 0 1.14 KB
master SendReceive net472 2.13μs 5.19ns 20.1ns 0.183 0 0 1.16 KB
#6157 SendReceive net6.0 1.32μs 0.735ns 2.75ns 0.0158 0 0 1.14 KB
#6157 SendReceive netcoreapp3.1 1.74μs 0.904ns 3.26ns 0.0155 0 0 1.14 KB
#6157 SendReceive net472 2.12μs 1.27ns 4.93ns 0.183 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.7μs 0.668ns 2.59ns 0.0215 0 0 1.6 KB
master EnrichedLog netcoreapp3.1 3.95μs 2.14ns 7.4ns 0.0218 0 0 1.65 KB
master EnrichedLog net472 4.49μs 3.45ns 13.4ns 0.323 0 0 2.04 KB
#6157 EnrichedLog net6.0 2.63μs 0.837ns 3.13ns 0.0224 0 0 1.6 KB
#6157 EnrichedLog netcoreapp3.1 3.88μs 1.53ns 5.94ns 0.0212 0 0 1.65 KB
#6157 EnrichedLog net472 4.38μs 1.39ns 5.19ns 0.323 0 0 2.04 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 409ns 0.119ns 0.462ns 0.00802 0 0 576 B
master StartFinishSpan netcoreapp3.1 640ns 0.468ns 1.69ns 0.0078 0 0 576 B
master StartFinishSpan net472 685ns 0.272ns 1.05ns 0.0915 0 0 578 B
master StartFinishScope net6.0 484ns 0.133ns 0.514ns 0.00974 0 0 696 B
master StartFinishScope netcoreapp3.1 675ns 1.26ns 4.88ns 0.00944 0 0 696 B
master StartFinishScope net472 872ns 0.775ns 3ns 0.105 0 0 658 B
#6157 StartFinishSpan net6.0 406ns 0.141ns 0.547ns 0.00819 0 0 576 B
#6157 StartFinishSpan netcoreapp3.1 581ns 3.13ns 16.9ns 0.00794 0 0 576 B
#6157 StartFinishSpan net472 700ns 0.588ns 2.28ns 0.0916 0 0 578 B
#6157 StartFinishScope net6.0 480ns 0.953ns 3.69ns 0.00969 0 0 696 B
#6157 StartFinishScope netcoreapp3.1 682ns 1.24ns 4.8ns 0.00953 0 0 696 B
#6157 StartFinishScope net472 931ns 1.41ns 5.48ns 0.104 0 0 658 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 644ns 0.279ns 1.08ns 0.00974 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 983ns 0.62ns 2.4ns 0.00934 0 0 696 B
master RunOnMethodBegin net472 1.17μs 0.278ns 1.08ns 0.104 0 0 658 B
#6157 RunOnMethodBegin net6.0 617ns 0.314ns 1.22ns 0.00965 0 0 696 B
#6157 RunOnMethodBegin netcoreapp3.1 957ns 0.461ns 1.79ns 0.00963 0 0 696 B
#6157 RunOnMethodBegin net472 1.16μs 4.22ns 16.4ns 0.104 0 0 658 B

tracer/src/Datadog.Trace/Baggage.cs Outdated Show resolved Hide resolved
tracer/src/Datadog.Trace/Baggage.cs Outdated Show resolved Hide resolved
@lucaspimentel lucaspimentel requested a review from a team October 22, 2024 15:21
Copy link
Member

@tonyredondo tonyredondo left a comment

Choose a reason for hiding this comment

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

Thanks for the changes

@lucaspimentel lucaspimentel merged commit b433407 into master Nov 1, 2024
80 of 81 checks passed
Copy link
Member Author

Merge activity

  • Nov 1, 9:50 AM EDT: A user merged this pull request with Graphite.

@lucaspimentel lucaspimentel deleted the lpimentel/baggage-datadog-api-1 branch November 1, 2024 13:50
@github-actions github-actions bot added this to the vNext-v3 milestone Nov 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) type:new-feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants