Skip to content

Update libdatadog to 20.0.0#7358

Merged
andrewlock merged 1 commit into
masterfrom
julio/update-libdatadog
Aug 8, 2025
Merged

Update libdatadog to 20.0.0#7358
andrewlock merged 1 commit into
masterfrom
julio/update-libdatadog

Conversation

@hoolioh

@hoolioh hoolioh commented Aug 7, 2025

Copy link
Copy Markdown
Contributor

Summary of changes

  • Bump version from 19.1.0 to 20.0.0.
  • Update GetResponseBody signature.

Reason for change

API Changes:

  • ddog_trace_exporter_response_get_body now returns the length which prevents managed code to compute the payload's length manually.

Improvements:

  • Avoid formatting the agent response into a null terminated string before returning it to the managed code. This will boost the performance by avoiding an additional copy of the response (#1170).
  • Lower the severity of the info fetcher logs #1168.

Other details

Libdd release page

@hoolioh hoolioh added the libdatadog Updates to the libdatadog library and Rust integration label Aug 7, 2025
@datadog-official

datadog-official Bot commented Aug 7, 2025

Copy link
Copy Markdown
Contributor

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 16bc07d | Docs | Was this helpful? Give us feedback!

@pr-commenter

pr-commenter Bot commented Aug 7, 2025

Copy link
Copy Markdown

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7358 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.143
  • 3 benchmarks are slower, with geometric mean 1.415
  • 6 benchmarks have fewer allocations
  • 3 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 #7358

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 5.99 KB 6.05 KB 55 B 0.92%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.9μs 58.8ns 333ns 0 0 0 5.5 KB
master StartStopWithChild netcoreapp3.1 13.1μs 69ns 352ns 0 0 0 5.7 KB
master StartStopWithChild net472 21.9μs 69ns 249ns 0.987 0.439 0.11 5.99 KB
#7358 StartStopWithChild net6.0 10.7μs 59.3ns 356ns 0 0 0 5.47 KB
#7358 StartStopWithChild netcoreapp3.1 13.6μs 70.3ns 322ns 0 0 0 5.71 KB
#7358 StartStopWithChild net472 22.3μs 122ns 678ns 0.856 0.214 0 6.05 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 939μs 240ns 898ns 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.03ms 207ns 800ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.19ms 72.9ns 283ns 0 0 0 3.31 KB
#7358 WriteAndFlushEnrichedTraces net6.0 924μs 96.2ns 360ns 0 0 0 2.7 KB
#7358 WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 325ns 1.26μs 0 0 0 2.7 KB
#7358 WriteAndFlushEnrichedTraces net472 1.19ms 53.2ns 192ns 0 0 0 3.31 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 333μs 1.61μs 6.83μs 0 0 0 198.49 KB
master AllCycleSimpleBody netcoreapp3.1 471μs 1.54μs 5.98μs 0 0 0 206.2 KB
master AllCycleSimpleBody net472 450μs 107ns 385ns 37.9 2.23 0 251.62 KB
master AllCycleMoreComplexBody net6.0 341μs 396ns 1.53μs 0 0 0 202 KB
master AllCycleMoreComplexBody netcoreapp3.1 513μs 2.15μs 8.31μs 0 0 0 209.62 KB
master AllCycleMoreComplexBody net472 463μs 119ns 430ns 39.4 2.31 0 255.13 KB
master ObjectExtractorSimpleBody net6.0 323ns 0.0746ns 0.269ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 400ns 2.08ns 10.6ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 304ns 0.0218ns 0.0788ns 0.0443 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.51μs 29.2ns 113ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.86μs 38ns 161ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.77μs 3.48ns 13ns 0.577 0 0 3.8 KB
#7358 AllCycleSimpleBody net6.0 341μs 1.67μs 6.88μs 0 0 0 198.49 KB
#7358 AllCycleSimpleBody netcoreapp3.1 502μs 1.86μs 6.97μs 0 0 0 206.2 KB
#7358 AllCycleSimpleBody net472 448μs 103ns 399ns 37.9 2.23 0 251.62 KB
#7358 AllCycleMoreComplexBody net6.0 351μs 440ns 1.7μs 0 0 0 202 KB
#7358 AllCycleMoreComplexBody netcoreapp3.1 527μs 2.25μs 8.71μs 0 0 0 209.62 KB
#7358 AllCycleMoreComplexBody net472 460μs 273ns 1.06μs 40.2 2.23 0 255.13 KB
#7358 ObjectExtractorSimpleBody net6.0 323ns 1.01ns 3.93ns 0 0 0 280 B
#7358 ObjectExtractorSimpleBody netcoreapp3.1 406ns 0.158ns 0.592ns 0 0 0 272 B
#7358 ObjectExtractorSimpleBody net472 305ns 0.00979ns 0.0339ns 0.0446 0 0 281 B
#7358 ObjectExtractorMoreComplexBody net6.0 6.32μs 15.6ns 60.4ns 0 0 0 3.78 KB
#7358 ObjectExtractorMoreComplexBody netcoreapp3.1 7.82μs 38.1ns 157ns 0 0 0 3.69 KB
#7358 ObjectExtractorMoreComplexBody net472 6.78μs 4.69ns 17.6ns 0.576 0 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 78.2μs 148ns 555ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 100μs 244ns 946ns 0 0 0 32.4 KB
master EncodeArgs net472 110μs 144ns 558ns 4.92 0 0 32.51 KB
master EncodeLegacyArgs net6.0 147μs 19.9ns 77ns 0 0 0 2.14 KB
master EncodeLegacyArgs netcoreapp3.1 197μs 64.6ns 242ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 262μs 21.9ns 79.1ns 0 0 0 2.16 KB
#7358 EncodeArgs net6.0 80μs 78.6ns 294ns 0 0 0 32.4 KB
#7358 EncodeArgs netcoreapp3.1 98.5μs 221ns 855ns 0 0 0 32.4 KB
#7358 EncodeArgs net472 109μs 14.1ns 52.8ns 4.93 0 0 32.5 KB
#7358 EncodeLegacyArgs net6.0 141μs 35.8ns 139ns 0 0 0 2.15 KB
#7358 EncodeLegacyArgs netcoreapp3.1 196μs 162ns 629ns 0 0 0 2.14 KB
#7358 EncodeLegacyArgs net472 264μs 50.5ns 196ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #7358

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 2.082 414,489.11 863,121.77

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 393μs 34.6ns 129ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 414μs 52.8ns 205ns 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 433μs 83.9ns 325ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 286μs 19.9ns 74.6ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 303μs 138ns 517ns 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 318μs 26.7ns 103ns 0 0 0 2.29 KB
#7358 RunWafRealisticBenchmark net6.0 395μs 44.5ns 160ns 0 0 0 4.55 KB
#7358 RunWafRealisticBenchmark netcoreapp3.1 856μs 5.61μs 54.4μs 0 0 0 4.48 KB
#7358 RunWafRealisticBenchmark net472 433μs 99.3ns 372ns 0 0 0 4.66 KB
#7358 RunWafRealisticBenchmarkWithAttack net6.0 287μs 34.2ns 123ns 0 0 0 2.24 KB
#7358 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 303μs 188ns 727ns 0 0 0 2.22 KB
#7358 RunWafRealisticBenchmarkWithAttack net472 316μs 20.3ns 76.1ns 0 0 0 2.29 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 60.3μs 36.2ns 140ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 72μs 354ns 1.5μs 0 0 0 17.42 KB
master SendRequest net472 0.00923ns 0.00172ns 0.00645ns 0 0 0 0 b
#7358 SendRequest net6.0 61.2μs 170ns 657ns 0 0 0 14.52 KB
#7358 SendRequest netcoreapp3.1 70.6μs 91.5ns 330ns 0 0 0 17.43 KB
#7358 SendRequest net472 0.0124ns 0.00248ns 0.0096ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Slower ⚠️ Fewer allocations 🎉

Slower ⚠️ in #7358

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 1.133 887,773.54 1,006,004.69

Fewer allocations 🎉 in #7358

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 4 B 3 B -1 B -25.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 7 B 2 B -5 B -71.43%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.9ms 3.61μs 14μs 0 0 0 640.01 KB
master OriginalCharSlice netcoreapp3.1 2.08ms 3.9μs 13.5μs 0 0 0 640 KB
master OriginalCharSlice net472 2.67ms 145ns 561ns 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.49ms 107ns 413ns 0 0 0 7 B
master OptimizedCharSlice netcoreapp3.1 1.75ms 314ns 1.22μs 0 0 0 1 B
master OptimizedCharSlice net472 1.96ms 714ns 2.77μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 888μs 35.4ns 137ns 0 0 0 4 B
master OptimizedCharSliceWithPool netcoreapp3.1 810μs 40.3ns 151ns 0 0 0 1 B
master OptimizedCharSliceWithPool net472 1.14ms 127ns 492ns 0 0 0 0 b
#7358 OriginalCharSlice net6.0 2.01ms 2.61μs 10.1μs 0 0 0 640.01 KB
#7358 OriginalCharSlice netcoreapp3.1 2.1ms 10.6μs 46.3μs 0 0 0 640 KB
#7358 OriginalCharSlice net472 2.71ms 154ns 597ns 100 0 0 641.95 KB
#7358 OptimizedCharSlice net6.0 1.43ms 201ns 726ns 0 0 0 2 B
#7358 OptimizedCharSlice netcoreapp3.1 1.64ms 472ns 1.83μs 0 0 0 1 B
#7358 OptimizedCharSlice net472 2.05ms 217ns 810ns 0 0 0 0 b
#7358 OptimizedCharSliceWithPool net6.0 1.01ms 2.27μs 8.78μs 0 0 0 3 B
#7358 OptimizedCharSliceWithPool netcoreapp3.1 810μs 74.2ns 288ns 0 0 0 1 B
#7358 OptimizedCharSliceWithPool net472 1.13ms 79ns 306ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Slower ⚠️ More allocations ⚠️

Slower ⚠️ in #7358

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 1.200 617,550.78 740,999.41

Faster 🎉 in #7358

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 1.143 995,376.20 870,497.50

More allocations ⚠️ in #7358

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 42.06 KB 42.32 KB 256 B 0.61%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 618μs 477ns 1.85μs 0 0 0 41.67 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 731μs 4.16μs 30μs 0 0 0 42.06 KB
master WriteAndFlushEnrichedTraces net472 997μs 4.89μs 21.8μs 4.81 0 0 56.4 KB
#7358 WriteAndFlushEnrichedTraces net6.0 741μs 942ns 3.65μs 0 0 0 41.76 KB
#7358 WriteAndFlushEnrichedTraces netcoreapp3.1 808μs 2.94μs 10.2μs 0 0 0 42.32 KB
#7358 WriteAndFlushEnrichedTraces net472 869μs 2.8μs 10.5μs 8.33 0 0 56.15 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.95μs 10ns 42.5ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.53μs 12.4ns 49.8ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.71μs 7.01ns 27.1ns 0.147 0.0134 0 987 B
#7358 ExecuteNonQuery net6.0 1.97μs 7.72ns 28.9ns 0 0 0 1.02 KB
#7358 ExecuteNonQuery netcoreapp3.1 2.48μs 7.86ns 29.4ns 0 0 0 1.02 KB
#7358 ExecuteNonQuery net472 2.73μs 2.68ns 10.4ns 0.152 0.0138 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.72μs 8.64ns 37.7ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.2μs 5.68ns 22ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.59μs 6.22ns 24.1ns 0.158 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.77μs 5.13ns 19.9ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.43μs 9.11ns 35.3ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.82μs 4.98ns 19.3ns 0.171 0 0 1.1 KB
#7358 CallElasticsearch net6.0 1.71μs 7.58ns 29.3ns 0 0 0 1.03 KB
#7358 CallElasticsearch netcoreapp3.1 2.3μs 11.3ns 46.7ns 0 0 0 1.03 KB
#7358 CallElasticsearch net472 3.6μs 1.47ns 5.7ns 0.161 0 0 1.04 KB
#7358 CallElasticsearchAsync net6.0 1.81μs 7.9ns 30.6ns 0 0 0 1.01 KB
#7358 CallElasticsearchAsync netcoreapp3.1 2.4μs 10.4ns 40.2ns 0 0 0 1.08 KB
#7358 CallElasticsearchAsync net472 3.82μs 6.76ns 26.2ns 0.172 0 0 1.1 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.84μs 8.4ns 32.5ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.25μs 8.51ns 32.9ns 0 0 0 952 B
master ExecuteAsync net472 2.53μs 3.87ns 15ns 0.137 0 0 915 B
#7358 ExecuteAsync net6.0 1.88μs 3.83ns 14.8ns 0 0 0 952 B
#7358 ExecuteAsync netcoreapp3.1 2.34μs 10.9ns 45ns 0 0 0 952 B
#7358 ExecuteAsync net472 2.66μs 4ns 15ns 0.133 0 0 915 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 7.01μs 11.6ns 44.9ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.24μs 35.3ns 137ns 0 0 0 2.9 KB
master SendAsync net472 12.3μs 16.4ns 63.7ns 0.453 0 0 3.18 KB
#7358 SendAsync net6.0 6.86μs 19.4ns 75ns 0 0 0 2.36 KB
#7358 SendAsync netcoreapp3.1 8.45μs 23.4ns 84.3ns 0 0 0 2.9 KB
#7358 SendAsync net472 12.2μs 4.98ns 17.3ns 0.484 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7358

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 43.57 KB 45.25 KB 1.68 KB 3.86%

Fewer allocations 🎉 in #7358

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 276.88 KB 273.09 KB -3.79 KB -1.37%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 43.93 KB 42.72 KB -1.21 KB -2.75%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 277.26 KB 261.93 KB -15.34 KB -5.53%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 65.54 KB 57.34 KB -8.19 KB -12.50%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 42.6μs 213ns 927ns 0 0 0 43.57 KB
master StringConcatBenchmark netcoreapp3.1 48.7μs 228ns 1.09μs 0 0 0 43.93 KB
master StringConcatBenchmark net472 56.8μs 125ns 450ns 0 0 0 65.54 KB
master StringConcatAspectBenchmark net6.0 492μs 1.44μs 6.09μs 0 0 0 276.88 KB
master StringConcatAspectBenchmark netcoreapp3.1 520μs 1.3μs 4.49μs 0 0 0 277.26 KB
master StringConcatAspectBenchmark net472 399μs 2.15μs 11.9μs 0 0 0 278.53 KB
#7358 StringConcatBenchmark net6.0 47.3μs 260ns 2.03μs 0 0 0 45.25 KB
#7358 StringConcatBenchmark netcoreapp3.1 49.5μs 282ns 2μs 0 0 0 42.72 KB
#7358 StringConcatBenchmark net472 57.2μs 163ns 589ns 0 0 0 57.34 KB
#7358 StringConcatAspectBenchmark net6.0 466μs 2.46μs 11.8μs 0 0 0 273.09 KB
#7358 StringConcatAspectBenchmark netcoreapp3.1 508μs 1.33μs 4.8μs 0 0 0 261.93 KB
#7358 StringConcatAspectBenchmark net472 408μs 2.28μs 14.6μs 0 0 0 278.53 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 2.55μs 12.6ns 57.6ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.49μs 13.7ns 53.2ns 0 0 0 1.7 KB
master EnrichedLog net472 3.84μs 3.81ns 14.7ns 0.25 0 0 1.64 KB
#7358 EnrichedLog net6.0 2.6μs 14.1ns 66.1ns 0 0 0 1.7 KB
#7358 EnrichedLog netcoreapp3.1 3.45μs 3.23ns 12.5ns 0 0 0 1.7 KB
#7358 EnrichedLog net472 3.89μs 7.1ns 27.5ns 0.253 0 0 1.64 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 124μs 63.2ns 236ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 129μs 175ns 654ns 0 0 0 4.31 KB
master EnrichedLog net472 169μs 184ns 711ns 0 0 0 4.52 KB
#7358 EnrichedLog net6.0 124μs 90.6ns 327ns 0 0 0 4.31 KB
#7358 EnrichedLog netcoreapp3.1 129μs 361ns 1.35μs 0 0 0 4.31 KB
#7358 EnrichedLog net472 167μs 47.9ns 186ns 0 0 0 4.52 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 5.05μs 21.1ns 79ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.66μs 9.71ns 37.6ns 0 0 0 2.26 KB
master EnrichedLog net472 7.62μs 11.1ns 41.5ns 0.308 0 0 2.08 KB
#7358 EnrichedLog net6.0 4.82μs 16.1ns 62.4ns 0 0 0 2.26 KB
#7358 EnrichedLog netcoreapp3.1 6.94μs 26.8ns 104ns 0 0 0 2.26 KB
#7358 EnrichedLog net472 7.65μs 6.54ns 25.3ns 0.306 0 0 2.08 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 2.06μs 8.28ns 31ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.56μs 12.2ns 48.7ns 0 0 0 1.2 KB
master SendReceive net472 3.15μs 1.26ns 4.89ns 0.188 0 0 1.2 KB
#7358 SendReceive net6.0 2.05μs 4.84ns 18.7ns 0 0 0 1.2 KB
#7358 SendReceive netcoreapp3.1 2.62μs 13.1ns 58.7ns 0 0 0 1.2 KB
#7358 SendReceive net472 3.2μs 1.63ns 6.09ns 0.176 0 0 1.2 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 4.26μs 13.5ns 48.7ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.47μs 16.8ns 65.1ns 0 0 0 1.63 KB
master EnrichedLog net472 6.74μs 9.99ns 38.7ns 0.302 0 0 2.03 KB
#7358 EnrichedLog net6.0 4.18μs 12.3ns 46.2ns 0 0 0 1.58 KB
#7358 EnrichedLog netcoreapp3.1 5.48μs 18.3ns 70.7ns 0 0 0 1.63 KB
#7358 EnrichedLog net472 6.47μs 5.77ns 20ns 0.321 0 0 2.03 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 738ns 4.02ns 22ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 969ns 0.888ns 3.44ns 0 0 0 576 B
master StartFinishSpan net472 887ns 0.738ns 2.86ns 0.0896 0 0 578 B
master StartFinishScope net6.0 902ns 4.81ns 25ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.13μs 5.99ns 31.7ns 0 0 0 696 B
master StartFinishScope net472 1.11μs 0.832ns 3.22ns 0.0997 0 0 658 B
#7358 StartFinishSpan net6.0 758ns 3.83ns 16.2ns 0 0 0 576 B
#7358 StartFinishSpan netcoreapp3.1 964ns 4.94ns 21.5ns 0 0 0 576 B
#7358 StartFinishSpan net472 894ns 0.558ns 2.16ns 0.0894 0 0 578 B
#7358 StartFinishScope net6.0 917ns 0.553ns 1.92ns 0 0 0 696 B
#7358 StartFinishScope netcoreapp3.1 1.14μs 0.876ns 3.39ns 0 0 0 696 B
#7358 StartFinishScope net472 1.07μs 0.0776ns 0.3ns 0.102 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 1.05μs 0.461ns 1.79ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.36μs 4.12ns 15.4ns 0 0 0 696 B
master RunOnMethodBegin net472 1.41μs 2.41ns 9.35ns 0.0988 0 0 658 B
#7358 RunOnMethodBegin net6.0 1.04μs 5.42ns 25.4ns 0 0 0 696 B
#7358 RunOnMethodBegin netcoreapp3.1 1.38μs 6.9ns 29.3ns 0 0 0 696 B
#7358 RunOnMethodBegin net472 1.42μs 0.965ns 3.74ns 0.1 0 0 658 B

@hoolioh
hoolioh marked this pull request as ready for review August 7, 2025 12:42
@hoolioh
hoolioh requested review from a team as code owners August 7, 2025 12:42

@andrewlock andrewlock left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks! just one small fix I think

Comment thread tracer/src/Datadog.Trace/LibDatadog/TraceExporter.cs Outdated
Comment thread tracer/src/Datadog.Trace/LibDatadog/TraceExporter.cs Outdated
@hoolioh
hoolioh force-pushed the julio/update-libdatadog branch from 8d6e3f8 to 7a72e0a Compare August 7, 2025 13:52
@dd-trace-dotnet-ci-bot

Copy link
Copy Markdown

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.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7358) - mean (72ms)  : 71, 73
     .   : milestone, 72,
    master - mean (72ms)  : 70, 73
     .   : milestone, 72,

    section Baseline
    This PR (7358) - mean (68ms)  : 66, 70
     .   : milestone, 68,
    master - mean (68ms)  : 65, 72
     .   : milestone, 68,

    section CallTarget+Inlining+NGEN
    This PR (7358) - mean (1,047ms)  : 1030, 1063
     .   : milestone, 1047,
    master - mean (1,051ms)  : 1026, 1075
     .   : milestone, 1051,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7358) - mean (106ms)  : 105, 108
     .   : milestone, 106,
    master - mean (107ms)  : 105, 108
     .   : milestone, 107,

    section Baseline
    This PR (7358) - mean (106ms)  : 103, 108
     .   : milestone, 106,
    master - mean (106ms)  : 104, 108
     .   : milestone, 106,

    section CallTarget+Inlining+NGEN
    This PR (7358) - mean (732ms)  : 716, 747
     .   : milestone, 732,
    master - mean (731ms)  : 715, 747
     .   : milestone, 731,

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

    section Baseline
    This PR (7358) - mean (93ms)  : 92, 95
     .   : milestone, 93,
    master - mean (94ms)  : 91, 97
     .   : milestone, 94,

    section CallTarget+Inlining+NGEN
    This PR (7358) - mean (691ms)  : 677, 706
     .   : milestone, 691,
    master - mean (690ms)  : 670, 711
     .   : milestone, 690,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7358) - mean (93ms)  : 92, 94
     .   : milestone, 93,
    master - mean (94ms)  : 92, 96
     .   : milestone, 94,

    section Baseline
    This PR (7358) - mean (92ms)  : 90, 95
     .   : milestone, 92,
    master - mean (93ms)  : 90, 95
     .   : milestone, 93,

    section CallTarget+Inlining+NGEN
    This PR (7358) - mean (624ms)  : 611, 636
     .   : milestone, 624,
    master - mean (629ms)  : 622, 637
     .   : milestone, 629,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7358) - mean (213ms)  : 205, 220
     .   : milestone, 213,
    master - mean (210ms)  : 203, 216
     .   : milestone, 210,

    section Baseline
    This PR (7358) - mean (207ms)  : 200, 215
     .   : milestone, 207,
    master - mean (206ms)  : 197, 215
     .   : milestone, 206,

    section CallTarget+Inlining+NGEN
    This PR (7358) - mean (1,232ms)  : 1193, 1270
     .   : milestone, 1232,
    master - mean (1,227ms)  : 1188, 1266
     .   : milestone, 1227,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7358) - mean (303ms)  : 292, 315
     .   : milestone, 303,
    master - mean (301ms)  : 290, 311
     .   : milestone, 301,

    section Baseline
    This PR (7358) - mean (303ms)  : 296, 311
     .   : milestone, 303,
    master - mean (299ms)  : 290, 307
     .   : milestone, 299,

    section CallTarget+Inlining+NGEN
    This PR (7358) - mean (997ms)  : 962, 1032
     .   : milestone, 997,
    master - mean (995ms)  : 968, 1023
     .   : milestone, 995,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7358) - mean (296ms)  : 287, 305
     .   : milestone, 296,
    master - mean (302ms)  : 293, 311
     .   : milestone, 302,

    section Baseline
    This PR (7358) - mean (298ms)  : 284, 312
     .   : milestone, 298,
    master - mean (307ms)  : 300, 314
     .   : milestone, 307,

    section CallTarget+Inlining+NGEN
    This PR (7358) - mean (977ms)  : 944, 1009
     .   : milestone, 977,
    master - mean (991ms)  : 947, 1035
     .   : milestone, 991,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7358) - mean (295ms)  : 287, 303
     .   : milestone, 295,
    master - mean (302ms)  : 291, 312
     .   : milestone, 302,

    section Baseline
    This PR (7358) - mean (292ms)  : 282, 302
     .   : milestone, 292,
    master - mean (299ms)  : 286, 311
     .   : milestone, 299,

    section CallTarget+Inlining+NGEN
    This PR (7358) - mean (873ms)  : 837, 909
     .   : milestone, 873,
    master - mean (893ms)  : 825, 962
     .   : milestone, 893,

Loading

@hoolioh
hoolioh force-pushed the julio/update-libdatadog branch from 7a72e0a to f518499 Compare August 7, 2025 15:25
* Update GetResponseBody signature.
* Get rid of GetBodyLen and use the length returned by GetResponseBody
* Fix nullness checking.
@hoolioh
hoolioh force-pushed the julio/update-libdatadog branch from f518499 to 16bc07d Compare August 7, 2025 15:28
@hoolioh

hoolioh commented Aug 7, 2025

Copy link
Copy Markdown
Contributor Author

/merge

@dd-devflow-routing-codex

dd-devflow-routing-codex Bot commented Aug 7, 2025

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2025-08-07 15:44:37 UTC ℹ️ Start processing command /merge


2025-08-07 15:44:52 UTC ℹ️ MergeQueue: waiting for PR to be ready

This merge request is not mergeable yet, because of pending checks/missing approvals. It will be added to the queue as soon as checks pass and/or get approvals.
Note: if you pushed new commits since the last approval, you may need additional approval.
You can remove it from the waiting list with /remove command.


2025-08-07 16:35:20 UTC ℹ️ MergeQueue: queue is disabled

Added to the queue but the mergequeue is not enabled for now.


2025-08-08 11:32:41 UTC ℹ️ MergeQueue: This merge request was already merged

This pull request was merged directly.

@andrewlock
andrewlock merged commit de750a8 into master Aug 8, 2025
155 checks passed
@andrewlock
andrewlock deleted the julio/update-libdatadog branch August 8, 2025 11:32
@github-actions github-actions Bot added this to the vNext-v3 milestone Aug 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

libdatadog Updates to the libdatadog library and Rust integration mergequeue-status: done

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants