Skip to content

Conversation

@link04
Copy link
Contributor

@link04 link04 commented Nov 13, 2025

Summary of changes

Attempt to hopefully remove flakes in SubmitsOtlpMetrics and SubmitsOtlpLogs tests.

Implementation details

For metrics started calling the ForceFlush method: meterProvider?.ForceFlush();

Logs doesn't have that but I was using the wrong env var before so changed it to use the same default we use in the tracer implementation to hope dispose on time:

            - SetEnvironmentVariable("OTEL_LOG_EXPORT_INTERVAL", "1000");
            + SetEnvironmentVariable("OTEL_BLRP_SCHEDULE_DELAY", "1000");

If the above doesn't work maybe we would need to look into doing Simple Batch for logs instead: open-telemetry/opentelemetry-dotnet#5102 (comment)

Test coverage

Also removed the [Flaky("New test agent seems to not always be ready", maxRetries: 3)] so hoping they all stop flaking 🤞.

Other details

@github-actions github-actions bot added the area:tests unit tests, integration tests label Nov 13, 2025
@dd-trace-dotnet-ci-bot
Copy link

dd-trace-dotnet-ci-bot bot commented Nov 13, 2025

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing This PR (7813) and master.

✅ No regressions detected - check the details below

Full Metrics Comparison

FakeDbCommand

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration74.95 ± (74.69 - 75.31) ms74.40 ± (74.48 - 75.15) ms-0.7%
.NET Framework 4.8 - Bailout
duration79.93 ± (79.78 - 80.34) ms79.28 ± (79.31 - 79.99) ms-0.8%
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1129.37 ± (1133.11 - 1145.23) ms1112.14 ± (1112.78 - 1121.38) ms-1.5%
.NET Core 3.1 - Baseline
process.internal_duration_ms23.04 ± (22.95 - 23.14) ms23.14 ± (23.06 - 23.23) ms+0.4%✅⬆️
process.time_to_main_ms87.98 ± (87.60 - 88.35) ms88.06 ± (87.74 - 88.38) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.92 ± (10.92 - 10.93) MB10.89 ± (10.89 - 10.90) MB-0.3%
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms23.05 ± (22.97 - 23.14) ms23.09 ± (23.02 - 23.16) ms+0.2%✅⬆️
process.time_to_main_ms90.14 ± (89.72 - 90.55) ms89.64 ± (89.32 - 89.97) ms-0.5%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.96 ± (10.96 - 10.97) MB10.94 ± (10.94 - 10.95) MB-0.2%
runtime.dotnet.threads.count13 ± (13 - 13)13 ± (13 - 13)+0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms219.36 ± (218.06 - 220.66) ms218.89 ± (217.37 - 220.41) ms-0.2%
process.time_to_main_ms550.29 ± (549.24 - 551.34) ms549.77 ± (548.73 - 550.81) ms-0.1%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed52.65 ± (52.63 - 52.67) MB52.59 ± (52.57 - 52.61) MB-0.1%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)-0.0%
.NET 6 - Baseline
process.internal_duration_ms21.69 ± (21.62 - 21.76) ms21.90 ± (21.83 - 21.96) ms+1.0%✅⬆️
process.time_to_main_ms76.82 ± (76.43 - 77.21) ms77.26 ± (76.91 - 77.61) ms+0.6%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.62 ± (10.62 - 10.62) MB10.62 ± (10.62 - 10.62) MB+0.0%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms21.73 ± (21.65 - 21.80) ms21.70 ± (21.64 - 21.76) ms-0.1%
process.time_to_main_ms76.96 ± (76.63 - 77.29) ms76.94 ± (76.59 - 77.28) ms-0.0%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.66 ± (10.66 - 10.67) MB10.67 ± (10.67 - 10.67) MB+0.1%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms207.78 ± (206.31 - 209.25) ms206.55 ± (204.76 - 208.35) ms-0.6%
process.time_to_main_ms516.85 ± (515.83 - 517.87) ms513.53 ± (512.57 - 514.49) ms-0.6%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed51.73 ± (51.71 - 51.75) MB51.58 ± (51.54 - 51.62) MB-0.3%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)-0.1%
.NET 8 - Baseline
process.internal_duration_ms19.89 ± (19.83 - 19.94) ms19.80 ± (19.73 - 19.86) ms-0.5%
process.time_to_main_ms75.00 ± (74.64 - 75.35) ms74.41 ± (74.11 - 74.71) ms-0.8%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.66 ± (7.65 - 7.66) MB7.65 ± (7.64 - 7.65) MB-0.1%
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms19.88 ± (19.83 - 19.94) ms19.70 ± (19.63 - 19.77) ms-0.9%
process.time_to_main_ms76.46 ± (76.17 - 76.74) ms76.15 ± (75.83 - 76.47) ms-0.4%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.71 ± (7.71 - 7.72) MB7.69 ± (7.69 - 7.70) MB-0.2%
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms193.06 ± (192.09 - 194.03) ms190.72 ± (189.84 - 191.60) ms-1.2%
process.time_to_main_ms498.27 ± (497.40 - 499.15) ms488.17 ± (487.15 - 489.20) ms-2.0%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed39.02 ± (38.97 - 39.06) MB38.89 ± (38.85 - 38.93) MB-0.3%
runtime.dotnet.threads.count27 ± (27 - 27)27 ± (27 - 27)-0.0%

HttpMessageHandler

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration192.63 ± (192.40 - 193.11) ms192.70 ± (192.45 - 193.24) ms+0.0%✅⬆️
.NET Framework 4.8 - Bailout
duration195.63 ± (195.49 - 196.17) ms195.97 ± (195.84 - 196.40) ms+0.2%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1166.42 ± (1173.09 - 1183.28) ms1163.14 ± (1163.70 - 1170.99) ms-0.3%
.NET Core 3.1 - Baseline
process.internal_duration_ms188.56 ± (188.17 - 188.94) ms188.05 ± (187.73 - 188.37) ms-0.3%
process.time_to_main_ms80.70 ± (80.47 - 80.94) ms80.46 ± (80.28 - 80.65) ms-0.3%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.06 ± (16.03 - 16.09) MB16.05 ± (16.03 - 16.08) MB-0.0%
runtime.dotnet.threads.count20 ± (19 - 20)20 ± (19 - 20)+0.1%✅⬆️
.NET Core 3.1 - Bailout
process.internal_duration_ms187.54 ± (187.27 - 187.80) ms187.73 ± (187.42 - 188.04) ms+0.1%✅⬆️
process.time_to_main_ms81.80 ± (81.68 - 81.93) ms81.78 ± (81.67 - 81.90) ms-0.0%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.15 ± (16.12 - 16.18) MB16.14 ± (16.11 - 16.17) MB-0.1%
runtime.dotnet.threads.count21 ± (21 - 21)21 ± (21 - 21)-0.6%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms392.08 ± (389.62 - 394.55) ms394.22 ± (391.74 - 396.71) ms+0.5%✅⬆️
process.time_to_main_ms518.56 ± (517.86 - 519.26) ms517.80 ± (517.11 - 518.49) ms-0.1%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed62.62 ± (62.46 - 62.77) MB62.82 ± (62.66 - 62.98) MB+0.3%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 30)+0.1%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms192.10 ± (191.64 - 192.56) ms193.00 ± (192.58 - 193.41) ms+0.5%✅⬆️
process.time_to_main_ms70.05 ± (69.87 - 70.23) ms69.81 ± (69.63 - 69.99) ms-0.3%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.16 ± (16.04 - 16.28) MB16.23 ± (16.13 - 16.32) MB+0.4%✅⬆️
runtime.dotnet.threads.count18 ± (18 - 19)19 ± (19 - 19)+3.0%✅⬆️
.NET 6 - Bailout
process.internal_duration_ms190.48 ± (190.23 - 190.72) ms191.69 ± (191.42 - 191.96) ms+0.6%✅⬆️
process.time_to_main_ms70.50 ± (70.42 - 70.57) ms70.87 ± (70.76 - 70.98) ms+0.5%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.07 ± (15.92 - 16.22) MB16.21 ± (16.09 - 16.34) MB+0.9%✅⬆️
runtime.dotnet.threads.count19 ± (19 - 19)20 ± (20 - 20)+3.8%✅⬆️
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms413.47 ± (410.35 - 416.59) ms407.41 ± (404.53 - 410.30) ms-1.5%
process.time_to_main_ms487.92 ± (487.33 - 488.51) ms488.08 ± (487.49 - 488.67) ms+0.0%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed62.26 ± (62.12 - 62.40) MB61.83 ± (61.68 - 61.99) MB-0.7%
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)-0.1%
.NET 8 - Baseline
process.internal_duration_ms190.17 ± (189.77 - 190.56) ms190.41 ± (189.98 - 190.84) ms+0.1%✅⬆️
process.time_to_main_ms69.29 ± (69.09 - 69.49) ms69.28 ± (69.08 - 69.48) ms-0.0%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.79 ± (11.76 - 11.82) MB11.74 ± (11.70 - 11.77) MB-0.5%
runtime.dotnet.threads.count18 ± (18 - 18)18 ± (18 - 18)-0.1%
.NET 8 - Bailout
process.internal_duration_ms188.88 ± (188.66 - 189.11) ms188.68 ± (188.40 - 188.95) ms-0.1%
process.time_to_main_ms70.02 ± (69.92 - 70.11) ms69.96 ± (69.87 - 70.06) ms-0.1%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.76 ± (11.67 - 11.86) MB11.87 ± (11.82 - 11.91) MB+0.9%✅⬆️
runtime.dotnet.threads.count19 ± (18 - 19)19 ± (19 - 19)+2.6%✅⬆️
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms364.19 ± (362.95 - 365.44) ms361.71 ± (360.41 - 363.02) ms-0.7%
process.time_to_main_ms468.03 ± (467.34 - 468.72) ms462.07 ± (461.44 - 462.70) ms-1.3%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed50.49 ± (50.46 - 50.52) MB50.47 ± (50.44 - 50.49) MB-0.1%
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)-0.4%
Comparison explanation

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

Duration charts
FakeDbCommand (.NET Framework 4.8)
gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7813) - mean (75ms)  : 70, 80
    master - mean (75ms)  : 70, 80

    section Bailout
    This PR (7813) - mean (80ms)  : 74, 85
    master - mean (80ms)  : 76, 84

    section CallTarget+Inlining+NGEN
    This PR (7813) - mean (1,117ms)  : 1056, 1178
    master - mean (1,139ms)  : 1051, 1228

Loading
FakeDbCommand (.NET Core 3.1)
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7813) - mean (119ms)  : 113, 125
    master - mean (119ms)  : 112, 125

    section Bailout
    This PR (7813) - mean (120ms)  : 113, 128
    master - mean (121ms)  : 112, 130

    section CallTarget+Inlining+NGEN
    This PR (7813) - mean (804ms)  : 758, 850
    master - mean (808ms)  : 772, 845

Loading
FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7813) - mean (106ms)  : 100, 112
    master - mean (105ms)  : 99, 112

    section Bailout
    This PR (7813) - mean (105ms)  : 100, 111
    master - mean (106ms)  : 99, 112

    section CallTarget+Inlining+NGEN
    This PR (7813) - mean (753ms)  : 713, 793
    master - mean (757ms)  : 716, 798

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7813) - mean (102ms)  : 97, 108
    master - mean (103ms)  : 97, 109

    section Bailout
    This PR (7813) - mean (104ms)  : 97, 112
    master - mean (105ms)  : 100, 110

    section CallTarget+Inlining+NGEN
    This PR (7813) - mean (710ms)  : 685, 735
    master - mean (732ms)  : 698, 766

Loading
HttpMessageHandler (.NET Framework 4.8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7813) - mean (193ms)  : 189, 197
    master - mean (193ms)  : 189, 197

    section Bailout
    This PR (7813) - mean (196ms)  : 193, 199
    master - mean (196ms)  : 192, 199

    section CallTarget+Inlining+NGEN
    This PR (7813) - mean (1,167ms)  : 1116, 1219
    master - mean (1,178ms)  : 1106, 1250

Loading
HttpMessageHandler (.NET Core 3.1)
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7813) - mean (277ms)  : 273, 282
    master - mean (277ms)  : 271, 283

    section Bailout
    This PR (7813) - mean (277ms)  : 273, 282
    master - mean (277ms)  : 274, 280

    section CallTarget+Inlining+NGEN
    This PR (7813) - mean (943ms)  : 899, 987
    master - mean (941ms)  : 900, 982

Loading
HttpMessageHandler (.NET 6)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7813) - mean (271ms)  : 266, 277
    master - mean (270ms)  : 264, 277

    section Bailout
    This PR (7813) - mean (270ms)  : 266, 275
    master - mean (269ms)  : 266, 272

    section CallTarget+Inlining+NGEN
    This PR (7813) - mean (927ms)  : 875, 979
    master - mean (931ms)  : 884, 977

Loading
HttpMessageHandler (.NET 8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7813) - mean (269ms)  : 263, 276
    master - mean (269ms)  : 264, 275

    section Bailout
    This PR (7813) - mean (268ms)  : 265, 271
    master - mean (268ms)  : 266, 271

    section CallTarget+Inlining+NGEN
    This PR (7813) - mean (856ms)  : 831, 881
    master - mean (864ms)  : 833, 894

Loading

@datadog-official
Copy link

datadog-official bot commented Nov 13, 2025

⚠️ Tests

⚠️ Warnings

🧪 1 Test failed

SubmitsOtlpLogs from Datadog.Trace.ClrProfiler.IntegrationTests.OpenTelemetrySdkTests (Datadog)
Expected logsData not to be <null>.

ℹ️ Info

❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 242b238 | Docs | Datadog PR Page | Was this helpful? Give us feedback!

@pr-commenter
Copy link

pr-commenter bot commented Nov 13, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7813 compared to master:

  • 2 benchmarks are faster, with geometric mean 1.210
  • 2 benchmarks are slower, with geometric mean 1.816
  • 5 benchmarks have fewer allocations
  • 6 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 #7813

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 6.06 KB 6.1 KB 42 B 0.69%
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 5.7 KB 5.73 KB 34 B 0.60%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.3μs 57.8ns 374ns 0 0 0 5.51 KB
master StartStopWithChild netcoreapp3.1 13.4μs 71.1ns 355ns 0 0 0 5.7 KB
master StartStopWithChild net472 22μs 119ns 662ns 0.999 0.333 0.111 6.06 KB
#7813 StartStopWithChild net6.0 10.6μs 57.9ns 332ns 0 0 0 5.5 KB
#7813 StartStopWithChild netcoreapp3.1 13.4μs 68.3ns 335ns 0 0 0 5.73 KB
#7813 StartStopWithChild net472 21.9μs 118ns 615ns 0.874 0.219 0 6.1 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 925μs 551ns 2.13μs 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.03ms 82.4ns 297ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.21ms 568ns 2.2μs 0 0 0 3.31 KB
#7813 WriteAndFlushEnrichedTraces net6.0 930μs 948ns 3.67μs 0 0 0 2.71 KB
#7813 WriteAndFlushEnrichedTraces netcoreapp3.1 1.03ms 927ns 3.59μs 0 0 0 2.7 KB
#7813 WriteAndFlushEnrichedTraces net472 1.21ms 988ns 3.82μs 0 0 0 3.31 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #7813

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody‑net472 1.348 295.85 398.72

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 1.1μs 5.93ns 35.1ns 0 0 0 1.22 KB
master AllCycleSimpleBody netcoreapp3.1 1.4μs 7.78ns 51ns 0 0 0 1.2 KB
master AllCycleSimpleBody net472 1.03μs 0.335ns 1.25ns 0.191 0 0 1.23 KB
master AllCycleMoreComplexBody net6.0 6.99μs 38.8ns 233ns 0 0 0 4.72 KB
master AllCycleMoreComplexBody netcoreapp3.1 9.04μs 2.5ns 9.69ns 0 0 0 4.62 KB
master AllCycleMoreComplexBody net472 7.57μs 3.17ns 12.3ns 0.72 0 0 4.74 KB
master ObjectExtractorSimpleBody net6.0 318ns 1.63ns 7.63ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 395ns 2.25ns 14.7ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 296ns 0.0704ns 0.264ns 0.0446 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.33μs 28.5ns 110ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.75μs 39ns 165ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.73μs 4.41ns 17.1ns 0.574 0 0 3.8 KB
#7813 AllCycleSimpleBody net6.0 1.08μs 5.61ns 28.1ns 0 0 0 1.22 KB
#7813 AllCycleSimpleBody netcoreapp3.1 1.41μs 1.26ns 4.53ns 0 0 0 1.2 KB
#7813 AllCycleSimpleBody net472 1.06μs 0.356ns 1.38ns 0.193 0 0 1.23 KB
#7813 AllCycleMoreComplexBody net6.0 7.09μs 38.6ns 204ns 0 0 0 4.72 KB
#7813 AllCycleMoreComplexBody netcoreapp3.1 9.04μs 2.68ns 9.65ns 0 0 0 4.62 KB
#7813 AllCycleMoreComplexBody net472 7.66μs 3.68ns 14.2ns 0.727 0 0 4.74 KB
#7813 ObjectExtractorSimpleBody net6.0 322ns 1.72ns 8.76ns 0 0 0 280 B
#7813 ObjectExtractorSimpleBody netcoreapp3.1 402ns 0.103ns 0.371ns 0 0 0 272 B
#7813 ObjectExtractorSimpleBody net472 399ns 0.0892ns 0.346ns 0.044 0 0 281 B
#7813 ObjectExtractorMoreComplexBody net6.0 6.21μs 31.9ns 156ns 0 0 0 3.78 KB
#7813 ObjectExtractorMoreComplexBody netcoreapp3.1 7.77μs 22ns 82.4ns 0 0 0 3.69 KB
#7813 ObjectExtractorMoreComplexBody net472 6.69μs 2.03ns 7.87ns 0.602 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.4μs 52.1ns 195ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 99.2μs 105ns 394ns 0 0 0 32.4 KB
master EncodeArgs net472 113μs 138ns 536ns 5.1 0 0 32.5 KB
master EncodeLegacyArgs net6.0 143μs 11.2ns 38.7ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 200μs 53.2ns 184ns 0 0 0 2.15 KB
master EncodeLegacyArgs net472 263μs 62.9ns 243ns 0 0 0 2.16 KB
#7813 EncodeArgs net6.0 76.7μs 222ns 829ns 0 0 0 32.4 KB
#7813 EncodeArgs netcoreapp3.1 96.7μs 345ns 1.34μs 0 0 0 32.4 KB
#7813 EncodeArgs net472 109μs 7.15ns 27.7ns 4.9 0 0 32.51 KB
#7813 EncodeLegacyArgs net6.0 141μs 44ns 165ns 0 0 0 2.15 KB
#7813 EncodeLegacyArgs netcoreapp3.1 198μs 177ns 687ns 0 0 0 2.14 KB
#7813 EncodeLegacyArgs net472 263μs 166ns 644ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #7813

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑netcoreapp3.1 2.447 296,614.39 725,950.15

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 398μs 61.7ns 231ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 845μs 5.8μs 58μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 428μs 49.1ns 190ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 283μs 49.3ns 191ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 297μs 239ns 924ns 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 311μs 33ns 128ns 0 0 0 2.29 KB
#7813 RunWafRealisticBenchmark net6.0 394μs 53.4ns 200ns 0 0 0 4.55 KB
#7813 RunWafRealisticBenchmark netcoreapp3.1 807μs 9.95μs 99μs 0 0 0 4.48 KB
#7813 RunWafRealisticBenchmark net472 430μs 72.7ns 282ns 0 0 0 4.66 KB
#7813 RunWafRealisticBenchmarkWithAttack net6.0 287μs 61ns 228ns 0 0 0 2.24 KB
#7813 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 687μs 11.8μs 118μs 0 0 0 2.22 KB
#7813 RunWafRealisticBenchmarkWithAttack net472 310μs 42.5ns 165ns 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.9μs 285ns 1.07μs 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 71.8μs 255ns 1.37μs 0 0 0 17.42 KB
master SendRequest net472 0.00399ns 0.00239ns 0.00893ns 0 0 0 0 b
#7813 SendRequest net6.0 60μs 41.4ns 155ns 0 0 0 14.52 KB
#7813 SendRequest netcoreapp3.1 71.9μs 102ns 382ns 0 0 0 17.42 KB
#7813 SendRequest net472 0.00646ns 0.00193ns 0.00748ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7813

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 0 b 1 B 1 B
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 3 B 5 B 2 B 66.67%

Fewer allocations 🎉 in #7813

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 7 B 4 B -3 B -42.86%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.93ms 5.6μs 21.7μs 0 0 0 640.01 KB
master OriginalCharSlice netcoreapp3.1 2.1ms 1.22μs 4.73μs 0 0 0 640 KB
master OriginalCharSlice net472 2.56ms 420ns 1.51μs 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.4ms 219ns 849ns 0 0 0 7 B
master OptimizedCharSlice netcoreapp3.1 1.67ms 334ns 1.25μs 0 0 0 1 B
master OptimizedCharSlice net472 1.95ms 531ns 2.06μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 864μs 29.9ns 112ns 0 0 0 3 B
master OptimizedCharSliceWithPool netcoreapp3.1 797μs 76.4ns 296ns 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.15ms 147ns 568ns 0 0 0 0 b
#7813 OriginalCharSlice net6.0 1.9ms 2.85μs 10.3μs 0 0 0 640.01 KB
#7813 OriginalCharSlice netcoreapp3.1 2.12ms 9.58μs 37.1μs 0 0 0 640 KB
#7813 OriginalCharSlice net472 2.64ms 409ns 1.42μs 100 0 0 641.95 KB
#7813 OptimizedCharSlice net6.0 1.55ms 136ns 528ns 0 0 0 4 B
#7813 OptimizedCharSlice netcoreapp3.1 1.68ms 334ns 1.25μs 0 0 0 1 B
#7813 OptimizedCharSlice net472 2.04ms 325ns 1.22μs 0 0 0 0 b
#7813 OptimizedCharSliceWithPool net6.0 803μs 46.6ns 181ns 0 0 0 5 B
#7813 OptimizedCharSliceWithPool netcoreapp3.1 812μs 73.5ns 285ns 0 0 0 1 B
#7813 OptimizedCharSliceWithPool net472 1.15ms 101ns 390ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Faster 🎉 Fewer allocations 🎉

Faster 🎉 in #7813

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.301 853,658.55 656,318.38 bimodal
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 1.126 1,010,006.04 897,141.07

Fewer allocations 🎉 in #7813

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 56.73 KB 56.43 KB -301 B -0.53%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 650μs 963ns 3.73μs 0 0 0 41.69 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 828μs 4.8μs 39.5μs 0 0 0 42.13 KB
master WriteAndFlushEnrichedTraces net472 1.01ms 5.15μs 24.2μs 8.33 0 0 56.73 KB
#7813 WriteAndFlushEnrichedTraces net6.0 681μs 2.36μs 9.13μs 0 0 0 41.7 KB
#7813 WriteAndFlushEnrichedTraces netcoreapp3.1 656μs 1.49μs 5.76μs 0 0 0 41.96 KB
#7813 WriteAndFlushEnrichedTraces net472 897μs 2.89μs 11.2μs 8.93 0 0 56.43 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.9μs 7.13ns 26.7ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.63μs 9.29ns 36ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.86μs 4.11ns 15.4ns 0.154 0.014 0 987 B
#7813 ExecuteNonQuery net6.0 1.89μs 8.78ns 32.9ns 0 0 0 1.02 KB
#7813 ExecuteNonQuery netcoreapp3.1 2.69μs 11.5ns 44.7ns 0 0 0 1.02 KB
#7813 ExecuteNonQuery net472 2.83μs 4.79ns 18.6ns 0.155 0.0141 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.7μs 8.37ns 35.5ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.3μs 10.7ns 42.7ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.5μs 2.92ns 10.9ns 0.157 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.88μs 3.46ns 12.5ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.38μs 9.31ns 36ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.69μs 4.1ns 15.9ns 0.166 0 0 1.1 KB
#7813 CallElasticsearch net6.0 1.8μs 8.99ns 38.1ns 0 0 0 1.03 KB
#7813 CallElasticsearch netcoreapp3.1 2.24μs 10.8ns 45.8ns 0 0 0 1.03 KB
#7813 CallElasticsearch net472 3.52μs 2.89ns 10.8ns 0.157 0 0 1.04 KB
#7813 CallElasticsearchAsync net6.0 1.8μs 7.34ns 27.5ns 0 0 0 1.01 KB
#7813 CallElasticsearchAsync netcoreapp3.1 2.34μs 8.89ns 30.8ns 0 0 0 1.08 KB
#7813 CallElasticsearchAsync net472 3.72μs 2.52ns 9.45ns 0.168 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.97μs 1.76ns 6.83ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.55μs 12.5ns 49.9ns 0 0 0 952 B
master ExecuteAsync net472 2.65μs 2.67ns 10.3ns 0.133 0 0 915 B
#7813 ExecuteAsync net6.0 1.93μs 3.83ns 14.8ns 0 0 0 952 B
#7813 ExecuteAsync netcoreapp3.1 2.33μs 11.4ns 51.1ns 0 0 0 952 B
#7813 ExecuteAsync net472 2.63μs 3.62ns 14ns 0.144 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 6.78μs 8.74ns 31.5ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.81μs 26.5ns 103ns 0 0 0 2.9 KB
master SendAsync net472 12.3μs 11.9ns 46.2ns 0.495 0 0 3.18 KB
#7813 SendAsync net6.0 6.74μs 3.32ns 12.9ns 0 0 0 2.36 KB
#7813 SendAsync netcoreapp3.1 8.56μs 24.9ns 96.3ns 0 0 0 2.9 KB
#7813 SendAsync net472 12.4μs 16.8ns 65ns 0.494 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7813

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 282.21 KB 286.72 KB 4.51 KB 1.60%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 42.64 KB 43.3 KB 656 B 1.54%

Fewer allocations 🎉 in #7813

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 44.43 KB 43.59 KB -840 B -1.89%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 261.47 KB 250.74 KB -10.74 KB -4.11%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 272.87 KB 256.36 KB -16.51 KB -6.05%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 43.9μs 240ns 1.25μs 0 0 0 44.43 KB
master StringConcatBenchmark netcoreapp3.1 47.2μs 262ns 1.57μs 0 0 0 42.64 KB
master StringConcatBenchmark net472 56.9μs 137ns 493ns 0 0 0 65.54 KB
master StringConcatAspectBenchmark net6.0 471μs 1.48μs 5.33μs 0 0 0 261.47 KB
master StringConcatAspectBenchmark netcoreapp3.1 524μs 914ns 3.16μs 0 0 0 272.87 KB
master StringConcatAspectBenchmark net472 411μs 2.34μs 16.6μs 0 0 0 282.21 KB
#7813 StringConcatBenchmark net6.0 44.4μs 205ns 1μs 0 0 0 43.59 KB
#7813 StringConcatBenchmark netcoreapp3.1 50μs 269ns 2.07μs 0 0 0 43.3 KB
#7813 StringConcatBenchmark net472 57.4μs 116ns 417ns 0 0 0 65.54 KB
#7813 StringConcatAspectBenchmark net6.0 459μs 1.43μs 5.17μs 0 0 0 250.74 KB
#7813 StringConcatAspectBenchmark netcoreapp3.1 514μs 1.44μs 5.19μs 0 0 0 256.36 KB
#7813 StringConcatAspectBenchmark net472 415μs 2.28μs 13.5μs 0 0 0 286.72 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.63μs 12.2ns 45.8ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.76μs 13.5ns 52.2ns 0 0 0 1.7 KB
master EnrichedLog net472 3.85μs 4.39ns 17ns 0.25 0 0 1.64 KB
#7813 EnrichedLog net6.0 2.58μs 13.5ns 67.5ns 0 0 0 1.7 KB
#7813 EnrichedLog netcoreapp3.1 3.61μs 17.4ns 74ns 0 0 0 1.7 KB
#7813 EnrichedLog net472 3.91μs 3.43ns 13.3ns 0.254 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 125μs 380ns 1.42μs 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 132μs 284ns 1.1μs 0 0 0 4.31 KB
master EnrichedLog net472 174μs 203ns 786ns 0 0 0 4.52 KB
#7813 EnrichedLog net6.0 124μs 125ns 433ns 0 0 0 4.31 KB
#7813 EnrichedLog netcoreapp3.1 130μs 391ns 1.46μs 0 0 0 4.31 KB
#7813 EnrichedLog net472 170μs 160ns 619ns 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.1μs 3.7ns 13.8ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.77μs 6.86ns 25.7ns 0 0 0 2.26 KB
master EnrichedLog net472 7.46μs 9.23ns 35.7ns 0.296 0 0 2.08 KB
#7813 EnrichedLog net6.0 5.22μs 8.15ns 31.6ns 0 0 0 2.26 KB
#7813 EnrichedLog netcoreapp3.1 6.73μs 14.2ns 49.3ns 0 0 0 2.26 KB
#7813 EnrichedLog net472 7.49μs 4.93ns 19.1ns 0.299 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.02μs 9.03ns 35ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.58μs 8.73ns 33.8ns 0 0 0 1.2 KB
master SendReceive net472 3.01μs 1.76ns 6.83ns 0.18 0 0 1.2 KB
#7813 SendReceive net6.0 1.97μs 1.5ns 5.83ns 0 0 0 1.2 KB
#7813 SendReceive netcoreapp3.1 2.59μs 12.4ns 52.7ns 0 0 0 1.2 KB
#7813 SendReceive net472 3.01μs 2.49ns 9.65ns 0.181 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.24μs 6.49ns 25.1ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.69μs 12ns 45ns 0 0 0 1.63 KB
master EnrichedLog net472 6.63μs 5.88ns 22ns 0.3 0 0 2.03 KB
#7813 EnrichedLog net6.0 4.36μs 14.8ns 57.1ns 0 0 0 1.58 KB
#7813 EnrichedLog netcoreapp3.1 5.55μs 21.7ns 84ns 0 0 0 1.63 KB
#7813 EnrichedLog net472 6.68μs 4.73ns 17.1ns 0.299 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 768ns 3.75ns 15ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 1μs 0.358ns 1.39ns 0 0 0 576 B
master StartFinishSpan net472 950ns 0.3ns 1.12ns 0.0902 0 0 578 B
master StartFinishScope net6.0 917ns 4.94ns 25.7ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.19μs 6.5ns 39ns 0 0 0 696 B
master StartFinishScope net472 1.15μs 0.488ns 1.89ns 0.104 0 0 658 B
#7813 StartFinishSpan net6.0 759ns 3.89ns 19.1ns 0 0 0 576 B
#7813 StartFinishSpan netcoreapp3.1 970ns 4.6ns 18.4ns 0 0 0 576 B
#7813 StartFinishSpan net472 936ns 0.0921ns 0.319ns 0.0896 0 0 578 B
#7813 StartFinishScope net6.0 933ns 5.12ns 26.6ns 0 0 0 696 B
#7813 StartFinishScope netcoreapp3.1 1.22μs 5.74ns 23ns 0 0 0 696 B
#7813 StartFinishScope net472 1.15μs 0.608ns 2.36ns 0.103 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.08μs 0.711ns 2.66ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.42μs 7.38ns 35.4ns 0 0 0 697 B
master RunOnMethodBegin net472 1.47μs 0.948ns 3.42ns 0.103 0 0 658 B
#7813 RunOnMethodBegin net6.0 1.06μs 5.03ns 20.1ns 0 0 0 696 B
#7813 RunOnMethodBegin netcoreapp3.1 1.4μs 5.57ns 21.6ns 0 0 0 696 B
#7813 RunOnMethodBegin net472 1.47μs 0.898ns 3.48ns 0.104 0 0 658 B

@github-actions
Copy link
Contributor

github-actions bot commented Nov 14, 2025

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.

1 occurrences of :

-  {
-    "resource_logs": [
-      {
-        "resource": {
-          "attributes": [
[...]
+  "resource_logs": [
+    {
+      "resource": {
+        "attributes": [
+          {
+            "key": "service.name",
+            "value": {
+              "string_value": "OtlpLogsService"
+            }
+          },
+          {
+            "key": "deployment.environment",
+            "value": {
+              "string_value": "testing"
+            }
+          },
+          {
+            "key": "telemetry.sdk.name",
+            "value": {
+              "string_value": "sdk-name"
+            }
+          },
+          {
+            "key": "telemetry.sdk.language",
+            "value": {
+              "string_value": "dotnet"
+            }
+          },
+          {
+            "key": "telemetry.sdk.version",
+            "value": {
+              "string_value": "sdk-version"
+            }
+          }
+        ]
+      },
+      "scope_logs": [
+        {
+          "scope": {
+            "name": "LogServiceName"
+          },
+          "log_records": [
+            {
+              "time_unix_nano": "0",
+              "severity_number": "SEVERITY_NUMBER_INFO",
+              "severity_text": "Information",
+              "body": {
+                "string_value": "Hello from OpenTelemetry logger within span context"
+              },
+              "flags": 1,
+              "trace_id": "normalized-trace-id",
+              "span_id": "normalized-span-id",
+              "observed_time_unix_nano": "0"
+            },
[...]
-              "key": "service.name",
-              "value": {
-                "string_value": "OtlpLogsService"
-              }
+              "time_unix_nano": "0",
+              "severity_number": "SEVERITY_NUMBER_TRACE",
+              "severity_text": "Trace",
+              "body": {
+                "string_value": "This is a trace message within span context"
+              },
+              "flags": 1,
+              "trace_id": "normalized-trace-id",
+              "span_id": "normalized-span-id",
+              "observed_time_unix_nano": "0"
[...]
-              "key": "deployment.environment",
-              "value": {
-                "string_value": "testing"
-              }
+              "time_unix_nano": "0",
+              "severity_number": "SEVERITY_NUMBER_WARN",
+              "severity_text": "Warning",
+              "body": {
+                "string_value": "This is a warning message"
+              },
+              "flags": 1,
+              "trace_id": "normalized-trace-id",
+              "span_id": "normalized-span-id",
+              "observed_time_unix_nano": "0"
[...]
-              "key": "telemetry.sdk.name",
-              "value": {
-                "string_value": "sdk-name"
-              }
+              "time_unix_nano": "0",
+              "severity_number": "SEVERITY_NUMBER_ERROR",
+              "severity_text": "Error",
+              "body": {
+                "string_value": "This is an error message"
+              },
+              "flags": 1,
+              "trace_id": "normalized-trace-id",
+              "span_id": "normalized-span-id",
+              "observed_time_unix_nano": "0"
[...]
-              "key": "telemetry.sdk.language",
-              "value": {
-                "string_value": "dotnet"
-              }
+              "time_unix_nano": "0",
+              "severity_number": "SEVERITY_NUMBER_INFO",
+              "severity_text": "Information",
+              "body": {
+                "string_value": "Hello from OpenTelemetry logger outside span context"
+              },
+              "observed_time_unix_nano": "0"
[...]
-              "key": "telemetry.sdk.version",
-              "value": {
-                "string_value": "sdk-version"
-              }
+              "time_unix_nano": "0",
+              "severity_number": "SEVERITY_NUMBER_FATAL",
+              "severity_text": "Critical",
+              "body": {
+                "string_value": "This is a critical message"
+              },
+              "observed_time_unix_nano": "0"
[...]
-        "scope_logs": [
-          {
-            "scope": {
-              "name": "LogServiceName"
-            },
-            "log_records": [
-              {
-                "time_unix_nano": "0",
-                "severity_number": "SEVERITY_NUMBER_INFO",
-                "severity_text": "Information",
-                "body": {
-                  "string_value": "Hello from OpenTelemetry logger within span context"
-                },
-                "flags": 1,
-                "trace_id": "normalized-trace-id",
-                "span_id": "normalized-span-id",
-                "observed_time_unix_nano": "0"
-              },
-              {
-                "time_unix_nano": "0",
-                "severity_number": "SEVERITY_NUMBER_TRACE",
-                "severity_text": "Trace",
-                "body": {
-                  "string_value": "This is a trace message within span context"
-                },
-                "flags": 1,
-                "trace_id": "normalized-trace-id",
-                "span_id": "normalized-span-id",
-                "observed_time_unix_nano": "0"
-              },
-              {
-                "time_unix_nano": "0",
-                "severity_number": "SEVERITY_NUMBER_WARN",
-                "severity_text": "Warning",
-                "body": {
-                  "string_value": "This is a warning message"
-                },
-                "flags": 1,
-                "trace_id": "normalized-trace-id",
-                "span_id": "normalized-span-id",
-                "observed_time_unix_nano": "0"
-              },
-              {
-                "time_unix_nano": "0",
-                "severity_number": "SEVERITY_NUMBER_ERROR",
-                "severity_text": "Error",
-                "body": {
-                  "string_value": "This is an error message"
-                },
-                "flags": 1,
-                "trace_id": "normalized-trace-id",
-                "span_id": "normalized-span-id",
-                "observed_time_unix_nano": "0"
-              },
-              {
-                "time_unix_nano": "0",
-                "severity_number": "SEVERITY_NUMBER_INFO",
-                "severity_text": "Information",
-                "body": {
-                  "string_value": "Hello from OpenTelemetry logger outside span context"
-                },
-                "observed_time_unix_nano": "0"
-              },
-              {
-                "time_unix_nano": "0",
-                "severity_number": "SEVERITY_NUMBER_FATAL",
-                "severity_text": "Critical",
-                "body": {
-                  "string_value": "This is a critical message"
-                },
-                "observed_time_unix_nano": "0"
-              }
-            ]
+        {
+          "scope": {
+            "name": "OtherLibrary"
[...]
-          {
-            "scope": {
-              "name": "OtherLibrary"
+          "log_records": [
+            {
+              "time_unix_nano": "0",
+              "severity_number": "SEVERITY_NUMBER_INFO",
+              "severity_text": "Information",
+              "body": {
+                "string_value": "Response from other library"
+              },
+              "flags": 1,
+              "trace_id": "normalized-trace-id",
+              "span_id": "normalized-span-id",
+              "observed_time_unix_nano": "0"
[...]
-            "log_records": [
-              {
-                "time_unix_nano": "0",
-                "severity_number": "SEVERITY_NUMBER_INFO",
-                "severity_text": "Information",
-                "body": {
-                  "string_value": "Response from other library"
-                },
-                "flags": 1,
-                "trace_id": "normalized-trace-id",
-                "span_id": "normalized-span-id",
-                "observed_time_unix_nano": "0"
+            {
+              "time_unix_nano": "0",
+              "severity_number": "SEVERITY_NUMBER_DEBUG",
+              "severity_text": "Debug",
+              "body": {
+                "string_value": "Debug information from other library"
[...]
-              {
-                "time_unix_nano": "0",
-                "severity_number": "SEVERITY_NUMBER_DEBUG",
-                "severity_text": "Debug",
-                "body": {
-                  "string_value": "Debug information from other library"
-                },
-                "flags": 1,
-                "trace_id": "normalized-trace-id",
-                "span_id": "normalized-span-id",
-                "observed_time_unix_nano": "0"
-              }
-            ]
-          }
-        ]
-      }
-    ]
-  }
[...]
+              "flags": 1,
+              "trace_id": "normalized-trace-id",
+              "span_id": "normalized-span-id",
+              "observed_time_unix_nano": "0"
+            }
+          ]
+        }
+      ]
+    }
+  ]

1 occurrences of :

-  {
-    "resource_metrics": [
-      {
-        "resource": {
-          "attributes": [
[...]
+  "resource_metrics": [
+    {
+      "resource": {
+        "attributes": [
+          {
+            "key": "telemetry.sdk.name",
+            "value": {
+              "string_value": "sdk-name"
+            }
+          },
+          {
+            "key": "telemetry.sdk.language",
+            "value": {
+              "string_value": "dotnet"
+            }
+          },
+          {
+            "key": "telemetry.sdk.version",
+            "value": {
+              "string_value": "sdk-version"
+            }
+          },
+          {
+            "key": "service.name",
+            "value": {
+              "string_value": "unknown_service:dotnet"
+            }
+          }
+        ]
+      },
+      "scope_metrics": [
+        {
+          "scope": {
+            "name": "OpenTelemetryMetricsMeter",
+            "version": "1.0",
+            "attributes": [
+              {
+                "key": "MeterTagKey",
+                "value": {
+                  "string_value": "MeterTagValue"
+                }
+              }
+            ]
+          },
+          "metrics": [
[...]
-              "key": "telemetry.sdk.name",
-              "value": {
-                "string_value": "sdk-name"
+              "name": "example.async.counter",
+              "sum": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_int": "22"
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_DELTA",
+                "is_monotonic": true
[...]
-              "key": "telemetry.sdk.language",
-              "value": {
-                "string_value": "dotnet"
+              "name": "example.async.gauge",
+              "gauge": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_double": 88.0
+                  }
+                ]
[...]
-              "key": "telemetry.sdk.version",
-              "value": {
-                "string_value": "sdk-version"
+              "name": "example.async.upDownCounter",
+              "sum": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_int": "66"
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
[...]
-              "key": "service.name",
-              "value": {
-                "string_value": "unknown_service:dotnet"
+              "name": "example.counter",
+              "sum": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_int": "11",
+                    "attributes": [
+                      {
+                        "key": "http.method",
+                        "value": {
+                          "string_value": "GET"
+                        }
+                      },
+                      {
+                        "key": "rid",
+                        "value": {
+                          "string_value": "1234567890"
+                        }
+                      }
+                    ]
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_DELTA",
+                "is_monotonic": true
[...]
-            }
-          ]
-        },
-        "scope_metrics": [
-          {
-            "scope": {
-              "name": "OpenTelemetryMetricsMeter",
-              "version": "1.0",
-              "attributes": [
-                {
-                  "key": "MeterTagKey",
-                  "value": {
-                    "string_value": "MeterTagValue"
+            },
+            {
+              "name": "example.gauge",
+              "gauge": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_double": 77.0,
+                    "attributes": [
+                      {
+                        "key": "http.method",
+                        "value": {
+                          "string_value": "GET"
+                        }
+                      },
+                      {
+                        "key": "rid",
+                        "value": {
+                          "string_value": "1234567890"
+                        }
+                      }
+                    ]
[...]
-                }
-              ]
+                ]
+              }
[...]
-            "metrics": [
-              {
-                "name": "example.async.counter",
-                "sum": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_int": "22"
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_DELTA",
-                  "is_monotonic": true
-                }
-              },
-              {
-                "name": "example.async.gauge",
-                "gauge": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_double": 88.0
-                    }
-                  ]
-                }
-              },
-              {
-                "name": "example.async.upDownCounter",
-                "sum": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_int": "66"
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
-                }
-              },
-              {
-                "name": "example.counter",
-                "sum": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_int": "11",
-                      "attributes": [
-                        {
-                          "key": "http.method",
-                          "value": {
-                            "string_value": "GET"
-                          }
-                        },
-                        {
-                          "key": "rid",
-                          "value": {
-                            "string_value": "1234567890"
-                          }
+            {
+              "name": "example.histogram",
+              "histogram": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "count": "1",
+                    "sum": 33.0,
+                    "bucket_counts": [
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "1",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0"
+                    ],
+                    "explicit_bounds": [
+                      0.0,
+                      5.0,
+                      10.0,
+                      25.0,
+                      50.0,
+                      75.0,
+                      100.0,
+                      250.0,
+                      500.0,
+                      750.0,
+                      1000.0,
+                      2500.0,
+                      5000.0,
+                      7500.0,
+                      10000.0
+                    ],
+                    "attributes": [
+                      {
+                        "key": "http.method",
+                        "value": {
+                          "string_value": "GET"
[...]
-                      ]
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_DELTA",
-                  "is_monotonic": true
-                }
-              },
-              {
-                "name": "example.gauge",
-                "gauge": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_double": 77.0,
-                      "attributes": [
-                        {
-                          "key": "http.method",
-                          "value": {
-                            "string_value": "GET"
-                          }
-                        },
-                        {
-                          "key": "rid",
-                          "value": {
-                            "string_value": "1234567890"
-                          }
+                      },
+                      {
+                        "key": "rid",
+                        "value": {
+                          "string_value": "1234567890"
[...]
-                      ]
-                    }
-                  ]
-                }
-              },
-              {
-                "name": "example.histogram",
-                "histogram": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "count": "1",
-                      "sum": 33.0,
-                      "bucket_counts": [
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "1",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0"
-                      ],
-                      "explicit_bounds": [
-                        0.0,
-                        5.0,
-                        10.0,
-                        25.0,
-                        50.0,
-                        75.0,
-                        100.0,
-                        250.0,
-                        500.0,
-                        750.0,
-                        1000.0,
-                        2500.0,
-                        5000.0,
-                        7500.0,
-                        10000.0
-                      ],
-                      "attributes": [
-                        {
-                          "key": "http.method",
-                          "value": {
-                            "string_value": "GET"
-                          }
-                        },
-                        {
-                          "key": "rid",
-                          "value": {
-                            "string_value": "1234567890"
-                          }
+                      }
+                    ],
+                    "min": 33.0,
+                    "max": 33.0
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_DELTA"
+              }
+            },
+            {
+              "name": "example.upDownCounter",
+              "sum": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_int": "55",
+                    "attributes": [
+                      {
+                        "key": "http.method",
+                        "value": {
+                          "string_value": "GET"
[...]
-                      ],
-                      "min": 33.0,
-                      "max": 33.0
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_DELTA"
-                }
-              },
-              {
-                "name": "example.upDownCounter",
-                "sum": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_int": "55",
-                      "attributes": [
-                        {
-                          "key": "http.method",
-                          "value": {
-                            "string_value": "GET"
-                          }
-                        },
-                        {
-                          "key": "rid",
-                          "value": {
-                            "string_value": "1234567890"
-                          }
+                      },
+                      {
+                        "key": "rid",
+                        "value": {
+                          "string_value": "1234567890"
[...]
-                      ]
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
-                }
+                      }
+                    ]
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
[...]
-            ]
-          }
-        ]
-      }
-    ]
-  }
[...]
+            }
+          ]
+        }
+      ]
+    }
+  ]

1 occurrences of :

-  {
-    "resource_metrics": [
-      {
-        "resource": {
-          "attributes": [
[...]
+  "resource_metrics": [
+    {
+      "resource": {
+        "attributes": [
+          {
+            "key": "telemetry.sdk.name",
+            "value": {
+              "string_value": "sdk-name"
+            }
+          },
+          {
+            "key": "telemetry.sdk.language",
+            "value": {
+              "string_value": "dotnet"
+            }
+          },
+          {
+            "key": "telemetry.sdk.version",
+            "value": {
+              "string_value": "sdk-version"
+            }
+          },
+          {
+            "key": "service.name",
+            "value": {
+              "string_value": "unknown_service:dotnet"
+            }
+          }
+        ]
+      },
+      "scope_metrics": [
+        {
+          "scope": {
+            "name": "OpenTelemetryMetricsMeter",
+            "version": "1.0"
+          },
+          "metrics": [
[...]
-              "key": "telemetry.sdk.name",
-              "value": {
-                "string_value": "sdk-name"
+              "name": "example.async.counter",
+              "sum": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_int": "22"
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
+                "is_monotonic": true
[...]
-              "key": "telemetry.sdk.language",
-              "value": {
-                "string_value": "dotnet"
+              "name": "example.async.gauge",
+              "gauge": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_double": 88.0
+                  }
+                ]
[...]
-              "key": "telemetry.sdk.version",
-              "value": {
-                "string_value": "sdk-version"
+              "name": "example.counter",
+              "sum": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_int": "11",
+                    "attributes": [
+                      {
+                        "key": "http.method",
+                        "value": {
+                          "string_value": "GET"
+                        }
+                      },
+                      {
+                        "key": "rid",
+                        "value": {
+                          "string_value": "1234567890"
+                        }
+                      }
+                    ]
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
+                "is_monotonic": true
[...]
-              "key": "service.name",
-              "value": {
-                "string_value": "unknown_service:dotnet"
-              }
-            }
-          ]
-        },
-        "scope_metrics": [
-          {
-            "scope": {
-              "name": "OpenTelemetryMetricsMeter",
-              "version": "1.0"
-            },
-            "metrics": [
-              {
-                "name": "example.async.counter",
-                "sum": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_int": "22"
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
-                  "is_monotonic": true
-                }
-              },
-              {
-                "name": "example.async.gauge",
-                "gauge": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_double": 88.0
-                    }
-                  ]
-                }
-              },
-              {
-                "name": "example.counter",
-                "sum": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_int": "11",
-                      "attributes": [
-                        {
-                          "key": "http.method",
-                          "value": {
-                            "string_value": "GET"
-                          }
-                        },
-                        {
-                          "key": "rid",
-                          "value": {
-                            "string_value": "1234567890"
-                          }
+              "name": "example.histogram",
+              "histogram": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "count": "1",
+                    "sum": 33.0,
+                    "bucket_counts": [
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "1",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0"
+                    ],
+                    "explicit_bounds": [
+                      0.0,
+                      5.0,
+                      10.0,
+                      25.0,
+                      50.0,
+                      75.0,
+                      100.0,
+                      250.0,
+                      500.0,
+                      750.0,
+                      1000.0,
+                      2500.0,
+                      5000.0,
+                      7500.0,
+                      10000.0
+                    ],
+                    "attributes": [
+                      {
+                        "key": "http.method",
+                        "value": {
+                          "string_value": "GET"
[...]
-                      ]
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
-                  "is_monotonic": true
-                }
-              },
-              {
-                "name": "example.histogram",
-                "histogram": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "count": "1",
-                      "sum": 33.0,
-                      "bucket_counts": [
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "1",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0"
-                      ],
-                      "explicit_bounds": [
-                        0.0,
-                        5.0,
-                        10.0,
-                        25.0,
-                        50.0,
-                        75.0,
-                        100.0,
-                        250.0,
-                        500.0,
-                        750.0,
-                        1000.0,
-                        2500.0,
-                        5000.0,
-                        7500.0,
-                        10000.0
-                      ],
-                      "attributes": [
-                        {
-                          "key": "http.method",
-                          "value": {
-                            "string_value": "GET"
-                          }
-                        },
-                        {
-                          "key": "rid",
-                          "value": {
-                            "string_value": "1234567890"
-                          }
+                      },
+                      {
+                        "key": "rid",
+                        "value": {
+                          "string_value": "1234567890"
[...]
-                      ],
-                      "min": 33.0,
-                      "max": 33.0
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
-                }
+                      }
+                    ],
+                    "min": 33.0,
+                    "max": 33.0
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
[...]
-            ]
-          }
-        ]
-      }
-    ]
-  }
[...]
+            }
+          ]
+        }
+      ]
+    }
+  ]

1 occurrences of :

-  {
-    "resource_metrics": [
-      {
-        "resource": {
-          "attributes": [
[...]
+  "resource_metrics": [
+    {
+      "resource": {
+        "attributes": [
+          {
+            "key": "service.name",
+            "value": {
+              "string_value": "unknown_service:dotnet"
+            }
+          }
+        ]
+      },
+      "scope_metrics": [
+        {
+          "scope": {
+            "name": "OpenTelemetryMetricsMeter",
+            "version": "1.0"
+          },
+          "metrics": [
[...]
-              "key": "service.name",
-              "value": {
-                "string_value": "unknown_service:dotnet"
+              "name": "example.async.counter",
+              "sum": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_int": "22"
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
+                "is_monotonic": true
+              }
+            },
+            {
+              "name": "example.async.gauge",
+              "gauge": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_double": 88.0
+                  }
+                ]
[...]
-            }
-          ]
-        },
-        "scope_metrics": [
-          {
-            "scope": {
-              "name": "OpenTelemetryMetricsMeter",
-              "version": "1.0"
[...]
-            "metrics": [
-              {
-                "name": "example.async.counter",
-                "sum": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_int": "22"
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
-                  "is_monotonic": true
-                }
-              },
-              {
-                "name": "example.async.gauge",
-                "gauge": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_double": 88.0
-                    }
-                  ]
-                }
-              },
-              {
-                "name": "example.counter",
-                "sum": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_int": "11",
-                      "attributes": [
-                        {
-                          "key": "http.method",
-                          "value": {
-                            "string_value": "GET"
-                          }
-                        },
-                        {
-                          "key": "rid",
-                          "value": {
-                            "string_value": "1234567890"
-                          }
+            {
+              "name": "example.counter",
+              "sum": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_int": "11",
+                    "attributes": [
+                      {
+                        "key": "http.method",
+                        "value": {
+                          "string_value": "GET"
[...]
-                      ]
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
-                  "is_monotonic": true
-                }
-              },
-              {
-                "name": "example.histogram",
-                "histogram": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "count": "1",
-                      "sum": 33.0,
-                      "bucket_counts": [
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "1",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0"
-                      ],
-                      "explicit_bounds": [
-                        0.0,
-                        5.0,
-                        10.0,
-                        25.0,
-                        50.0,
-                        75.0,
-                        100.0,
-                        250.0,
-                        500.0,
-                        1000.0
-                      ],
-                      "attributes": [
-                        {
-                          "key": "http.method",
-                          "value": {
-                            "string_value": "GET"
-                          }
-                        },
-                        {
-                          "key": "rid",
-                          "value": {
-                            "string_value": "1234567890"
-                          }
+                      },
+                      {
+                        "key": "rid",
+                        "value": {
+                          "string_value": "1234567890"
[...]
-                      ]
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
-                }
+                      }
+                    ]
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
+                "is_monotonic": true
[...]
-            ]
-          }
-        ]
-      }
-    ]
-  }
[...]
+            },
+            {
+              "name": "example.histogram",
+              "histogram": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "count": "1",
+                    "sum": 33.0,
+                    "bucket_counts": [
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "1",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0"
+                    ],
+                    "explicit_bounds": [
+                      0.0,
+                      5.0,
+                      10.0,
+                      25.0,
+                      50.0,
+                      75.0,
+                      100.0,
+                      250.0,
+                      500.0,
+                      1000.0
+                    ],
+                    "attributes": [
+                      {
+                        "key": "http.method",
+                        "value": {
+                          "string_value": "GET"
+                        }
+                      },
+                      {
+                        "key": "rid",
+                        "value": {
+                          "string_value": "1234567890"
+                        }
+                      }
+                    ]
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
+              }
+            }
+          ]
+        }
+      ]
+    }
+  ]

1 occurrences of :

-  {
-    "resource_metrics": [
-      {
-        "resource": {
-          "attributes": [
[...]
+  "resource_metrics": [
+    {
+      "resource": {
+        "attributes": [
+          {
+            "key": "telemetry.sdk.name",
+            "value": {
+              "string_value": "sdk-name"
+            }
+          },
+          {
+            "key": "telemetry.sdk.language",
+            "value": {
+              "string_value": "dotnet"
+            }
+          },
+          {
+            "key": "telemetry.sdk.version",
+            "value": {
+              "string_value": "sdk-version"
+            }
+          },
+          {
+            "key": "service.name",
+            "value": {
+              "string_value": "unknown_service:dotnet"
+            }
+          }
+        ]
+      },
+      "scope_metrics": [
+        {
+          "scope": {
+            "name": "OpenTelemetryMetricsMeter",
+            "version": "1.0"
+          },
+          "metrics": [
[...]
-              "key": "telemetry.sdk.name",
-              "value": {
-                "string_value": "sdk-name"
+              "name": "example.async.counter",
+              "sum": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_int": "22"
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
+                "is_monotonic": true
[...]
-              "key": "telemetry.sdk.language",
-              "value": {
-                "string_value": "dotnet"
+              "name": "example.async.gauge",
+              "gauge": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_double": 88.0
+                  }
+                ]
[...]
-              "key": "telemetry.sdk.version",
-              "value": {
-                "string_value": "sdk-version"
+              "name": "example.async.upDownCounter",
+              "sum": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_int": "66"
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
[...]
-              "key": "service.name",
-              "value": {
-                "string_value": "unknown_service:dotnet"
+              "name": "example.counter",
+              "sum": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_int": "11",
+                    "attributes": [
+                      {
+                        "key": "http.method",
+                        "value": {
+                          "string_value": "GET"
+                        }
+                      },
+                      {
+                        "key": "rid",
+                        "value": {
+                          "string_value": "1234567890"
+                        }
+                      }
+                    ]
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
+                "is_monotonic": true
[...]
-            }
-          ]
-        },
-        "scope_metrics": [
-          {
-            "scope": {
-              "name": "OpenTelemetryMetricsMeter",
-              "version": "1.0"
[...]
-            "metrics": [
-              {
-                "name": "example.async.counter",
-                "sum": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_int": "22"
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
-                  "is_monotonic": true
-                }
-              },
-              {
-                "name": "example.async.gauge",
-                "gauge": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_double": 88.0
-                    }
-                  ]
-                }
-              },
-              {
-                "name": "example.async.upDownCounter",
-                "sum": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_int": "66"
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
-                }
-              },
-              {
-                "name": "example.counter",
-                "sum": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_int": "11",
-                      "attributes": [
-                        {
-                          "key": "http.method",
-                          "value": {
-                            "string_value": "GET"
-                          }
-                        },
-                        {
-                          "key": "rid",
-                          "value": {
-                            "string_value": "1234567890"
-                          }
+            {
+              "name": "example.histogram",
+              "histogram": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "count": "1",
+                    "sum": 33.0,
+                    "bucket_counts": [
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "1",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0",
+                      "0"
+                    ],
+                    "explicit_bounds": [
+                      0.0,
+                      5.0,
+                      10.0,
+                      25.0,
+                      50.0,
+                      75.0,
+                      100.0,
+                      250.0,
+                      500.0,
+                      750.0,
+                      1000.0,
+                      2500.0,
+                      5000.0,
+                      7500.0,
+                      10000.0
+                    ],
+                    "attributes": [
+                      {
+                        "key": "http.method",
+                        "value": {
+                          "string_value": "GET"
+                        }
+                      },
+                      {
+                        "key": "rid",
+                        "value": {
+                          "string_value": "1234567890"
[...]
-                      ]
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
-                  "is_monotonic": true
-                }
-              },
-              {
-                "name": "example.histogram",
-                "histogram": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "count": "1",
-                      "sum": 33.0,
-                      "bucket_counts": [
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "1",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0",
-                        "0"
-                      ],
-                      "explicit_bounds": [
-                        0.0,
-                        5.0,
-                        10.0,
-                        25.0,
-                        50.0,
-                        75.0,
-                        100.0,
-                        250.0,
-                        500.0,
-                        750.0,
-                        1000.0,
-                        2500.0,
-                        5000.0,
-                        7500.0,
-                        10000.0
-                      ],
-                      "attributes": [
-                        {
-                          "key": "http.method",
-                          "value": {
-                            "string_value": "GET"
-                          }
-                        },
-                        {
-                          "key": "rid",
-                          "value": {
-                            "string_value": "1234567890"
-                          }
+                      }
+                    ],
+                    "min": 33.0,
+                    "max": 33.0
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
+              }
+            },
+            {
+              "name": "example.upDownCounter",
+              "sum": {
+                "data_points": [
+                  {
+                    "start_time_unix_nano": "0",
+                    "time_unix_nano": "0",
+                    "as_int": "55",
+                    "attributes": [
+                      {
+                        "key": "http.method",
+                        "value": {
+                          "string_value": "GET"
[...]
-                      ],
-                      "min": 33.0,
-                      "max": 33.0
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
-                }
-              },
-              {
-                "name": "example.upDownCounter",
-                "sum": {
-                  "data_points": [
-                    {
-                      "start_time_unix_nano": "0",
-                      "time_unix_nano": "0",
-                      "as_int": "55",
-                      "attributes": [
-                        {
-                          "key": "http.method",
-                          "value": {
-                            "string_value": "GET"
-                          }
-                        },
-                        {
-                          "key": "rid",
-                          "value": {
-                            "string_value": "1234567890"
-                          }
+                      },
+                      {
+                        "key": "rid",
+                        "value": {
+                          "string_value": "1234567890"
[...]
-                      ]
-                    }
-                  ],
-                  "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
-                }
+                      }
+                    ]
+                  }
+                ],
+                "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
[...]
-            ]
-          }
-        ]
-      }
-    ]
-  }
[...]
+            }
+          ]
+        }
+      ]
+    }
+  ]

@link04 link04 marked this pull request as ready for review November 17, 2025 05:11
@link04 link04 requested review from a team as code owners November 17, 2025 05:11
@link04 link04 requested a review from anna-git November 17, 2025 05:11
@link04 link04 enabled auto-merge (squash) November 17, 2025 05:11
Copy link
Member

Choose a reason for hiding this comment

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

For reviewers: the only change in all these snapshots is the removal of the enclosing []:

image

SetEnvironmentVariable("OTEL_EXPORTER_OTLP_PROTOCOL", protocol);
SetEnvironmentVariable("OTEL_EXPORTER_OTLP_ENDPOINT", $"http://{testAgentHost}:{otlpPort}");
SetEnvironmentVariable("OTEL_LOG_EXPORT_INTERVAL", "1000");
SetEnvironmentVariable("OTEL_BLRP_SCHEDULE_DELAY", "1000");
Copy link
Member

Choose a reason for hiding this comment

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

I think this is the default value, so I'm not sure this will change anything 🤔

Comment on lines 148 to 151
meterProvider?.Dispose();
#endif
#if OTEL_1_9

loggerFactory?.Dispose();
Copy link
Member

Choose a reason for hiding this comment

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

We're already disposing these, because they're created in using statements, so disposing them twice probably isn't correct 🤔 The question is why isn't disposing always flushing the logs correctly in the otel-only case. This feels like a timeout/bug or something in the otel exporter, @zacharycmontoya? 🤔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:tests unit tests, integration tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants