Skip to content

[Propagators] OTLP trace export carries ot.th/rv[APMAPI-2170] - #9062

Open
MilanGarnier wants to merge 8 commits into
milan.garnier/ot.thfrom
milan.garnier/apmapi-2191-otlp-export-ot-th-rv
Open

[Propagators] OTLP trace export carries ot.th/rv[APMAPI-2170]#9062
MilanGarnier wants to merge 8 commits into
milan.garnier/ot.thfrom
milan.garnier/apmapi-2191-otlp-export-ot-th-rv

Conversation

@MilanGarnier

@MilanGarnier MilanGarnier commented Aug 17, 2026

Copy link
Copy Markdown

Summary of changes

Export the ot= tracestate member in OTLP JSON and protobuf spans. (contains tracestate sampling data th and rv).

Implementation details

Serialize the existing OtelTraceState value when present.

Test coverage

Added focused JSON and protobuf serializer tests for present and absent values.

Other details

Stacked on #8983 which brings the support for otel tracestate sampling, and should be reviewed first.

System tests: TODO

@MilanGarnier MilanGarnier changed the title fix(otlp): export ot trace state [Propagators] Support for otel tracestate sampling in OTLP export Aug 17, 2026
@MilanGarnier MilanGarnier changed the title [Propagators] Support for otel tracestate sampling in OTLP export [Propagators] OTLP trace export carries ot.th/rv (APMAPI-2170) Aug 17, 2026
@MilanGarnier MilanGarnier changed the title [Propagators] OTLP trace export carries ot.th/rv (APMAPI-2170) [Propagators] OTLP trace export carries ot.th/rv[APMAPI-2170] Aug 17, 2026
@MilanGarnier MilanGarnier added area:opentelemetry OpenTelemetry support type:enhancement Improvement to an existing feature docker_image_artifacts Use to label PRs for which you would need a Docker Image created for. labels Aug 17, 2026
@dd-trace-dotnet-ci-bot

dd-trace-dotnet-ci-bot Bot commented Aug 17, 2026

Copy link
Copy Markdown

Execution-Time Benchmarks Report ⏱️

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

✅ No regressions detected

📄 View the full report (charts + all metrics) →

@pr-commenter

pr-commenter Bot commented Aug 17, 2026

Copy link
Copy Markdown

Benchmarks

Benchmark execution time: 2026-08-24 17:32:34

Comparing candidate commit 8913f1b in PR branch milan.garnier/apmapi-2191-otlp-export-ot-th-rv with baseline commit e9a83b0 in branch master.

📊 Benchmarking dashboard

Found 0 performance improvements and 48 performance regressions! Performance is the same for 24 metrics, 0 unstable metrics, 111 known flaky benchmarks, 15 flaky benchmarks without significant changes.

Explanation

This is an A/B test comparing a candidate commit's performance against that of a baseline commit. Performance changes are noted in the tables below as:

  • 🟩 = significantly better candidate vs. baseline
  • 🟥 = significantly worse candidate vs. baseline

We compute a confidence interval (CI) over the relative difference of means between metrics from the candidate and baseline commits, considering the baseline as the reference.

If the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD), the change is considered significant.

Feel free to reach out to #apm-benchmarking-platform on Slack if you have any questions.

More details about the CI and significant changes

You can imagine this CI as a range of values that is likely to contain the true difference of means between the candidate and baseline commits.

CIs of the difference of means are often centered around 0%, because often changes are not that big:

---------------------------------(------|---^--------)-------------------------------->
                              -0.6%    0%  0.3%     +1.2%
                                 |          |        |
         lower bound of the CI --'          |        |
sample mean (center of the CI) -------------'        |
         upper bound of the CI ----------------------'

As described above, a change is considered significant if the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD).

For instance, for an execution time metric, this confidence interval indicates a significantly worse performance:

----------------------------------------|---------|---(---------^---------)---------->
                                       0%        1%  1.3%      2.2%      3.1%
                                                  |   |         |         |
       significant impact threshold --------------'   |         |         |
                      lower bound of CI --------------'         |         |
       sample mean (center of the CI) --------------------------'         |
                      upper bound of CI ----------------------------------'

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartActiveSpan net472

  • 🟥 allocated_mem [+224 bytes; +225 bytes] or [+12.744%; +12.751%]
  • 🟥 throughput [-37442.647op/s; -36156.090op/s] or [-19.533%; -18.862%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartActiveSpan net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.407%; +13.415%]
  • 🟥 throughput [-46822.902op/s; -41007.982op/s] or [-16.819%; -14.730%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartActiveSpan netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+12.971%; +12.979%]
  • 🟥 throughput [-39202.033op/s; -36310.119op/s] or [-18.200%; -16.858%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartRootSpan net472

  • 🟥 allocated_mem [+224 bytes; +225 bytes] or [+12.744%; +12.751%]
  • 🟥 throughput [-35354.133op/s; -33372.100op/s] or [-18.914%; -17.854%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartRootSpan net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.407%; +13.415%]
  • 🟥 throughput [-44276.447op/s; -39831.535op/s] or [-15.571%; -14.008%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartRootSpan netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+12.971%; +12.979%]
  • 🟥 throughput [-46700.975op/s; -43396.051op/s] or [-21.180%; -19.681%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartSpan net472

  • 🟥 allocated_mem [+224 bytes; +225 bytes] or [+12.744%; +12.751%]
  • 🟥 throughput [-33859.476op/s; -32695.425op/s] or [-18.086%; -17.464%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartSpan net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.407%; +13.415%]
  • 🟥 throughput [-51990.345op/s; -46740.772op/s] or [-18.036%; -16.215%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartSpan netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+12.971%; +12.979%]
  • 🟥 throughput [-39206.046op/s; -36503.503op/s] or [-18.276%; -17.016%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartSpan_GetCurrentSpan net472

  • 🟥 allocated_mem [+224 bytes; +225 bytes] or [+12.744%; +12.751%]
  • 🟥 throughput [-33423.569op/s; -32040.215op/s] or [-17.973%; -17.230%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartSpan_GetCurrentSpan net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.407%; +13.415%]
  • 🟥 throughput [-48275.458op/s; -43393.712op/s] or [-17.299%; -15.550%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartSpan_GetCurrentSpan netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+12.971%; +12.979%]
  • 🟥 throughput [-41411.167op/s; -38122.324op/s] or [-19.443%; -17.899%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartSpan_SetActive net472

  • 🟥 allocated_mem [+224 bytes; +225 bytes] or [+10.423%; +10.431%]
  • 🟥 throughput [-26641.732op/s; -25859.207op/s] or [-15.194%; -14.748%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartSpan_SetActive net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+10.477%; +10.484%]
  • 🟥 throughput [-43273.374op/s; -39584.472op/s] or [-16.894%; -15.454%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TracerBenchmark.StartSpan_SetActive netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+10.206%; +10.214%]
  • 🟥 throughput [-31100.574op/s; -29482.551op/s] or [-15.643%; -14.829%]

scenario:Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery net472

  • 🟥 allocated_mem [+231 bytes; +232 bytes] or [+24.496%; +24.506%]
  • 🟥 throughput [-103999.743op/s; -101265.035op/s] or [-29.292%; -28.521%]

scenario:Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery net6.0

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+20.320%; +20.332%]
  • 🟥 throughput [-127445.241op/s; -116966.370op/s] or [-24.181%; -22.193%]

scenario:Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery netcoreapp3.1

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+20.485%; +20.497%]
  • 🟥 throughput [-88839.157op/s; -80783.410op/s] or [-21.959%; -19.968%]

scenario:Benchmarks.Trace.HttpClientBenchmark.SendAsync net472

  • 🟥 allocated_mem [+296 bytes; +297 bytes] or [+10.196%; +10.207%]
  • 🟥 throughput [-11346.938op/s; -10881.187op/s] or [-12.953%; -12.422%]

scenario:Benchmarks.Trace.HttpClientBenchmark.SendAsync net6.0

  • 🟥 allocated_mem [+303 bytes; +304 bytes] or [+14.335%; +14.346%]
  • 🟥 throughput [-10476.219op/s; -9295.115op/s] or [-7.117%; -6.314%]

scenario:Benchmarks.Trace.HttpClientBenchmark.SendAsync netcoreapp3.1

  • 🟥 allocated_mem [+303 bytes; +304 bytes] or [+11.505%; +11.516%]
  • 🟥 throughput [-10934.924op/s; -9580.831op/s] or [-8.677%; -7.603%]

scenario:Benchmarks.Trace.NLogBenchmark.EnrichedLog net472

  • 🟥 allocated_mem [+232 bytes; +233 bytes] or [+11.278%; +11.290%]
  • 🟥 throughput [-17972.355op/s; -17220.192op/s] or [-13.767%; -13.191%]

scenario:Benchmarks.Trace.NLogBenchmark.EnrichedLog net6.0

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+8.843%; +8.854%]
  • 🟥 throughput [-19216.458op/s; -15242.268op/s] or [-9.635%; -7.643%]

scenario:Benchmarks.Trace.NLogBenchmark.EnrichedLog netcoreapp3.1

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+8.795%; +8.808%]
  • 🟥 throughput [-15454.770op/s; -13356.263op/s] or [-10.376%; -8.967%]

Known flaky benchmarks

These benchmarks are marked as flaky and will not trigger a failure. Modify FLAKY_BENCHMARKS_REGEX to control which benchmarks are marked as flaky.

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan net472

  • 🟥 allocated_mem [+223 bytes; +224 bytes] or [+13.613%; +13.620%]
  • 🟥 throughput [-33732.259op/s; -32705.389op/s] or [-17.134%; -16.612%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.630%; +13.638%]
  • 🟥 throughput [-45850.590op/s; -43147.224op/s] or [-15.765%; -14.835%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.185%; +13.192%]
  • 🟥 throughput [-35294.613op/s; -31588.876op/s] or [-15.891%; -14.223%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_AddEvent_Sampled net472

  • 🟥 allocated_mem [+223 bytes; +223 bytes] or [+11.432%; +11.440%]
  • 🟥 throughput [-26047.970op/s; -24239.143op/s] or [-15.145%; -14.094%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_AddEvent_Sampled net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+11.211%; +11.220%]
  • 🟥 throughput [-44785.557op/s; -39467.234op/s] or [-17.006%; -14.986%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_AddEvent_Sampled netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+10.907%; +10.915%]
  • 🟥 throughput [-24805.272op/s; -21071.139op/s] or [-12.686%; -10.776%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_GetContext_Sampled net472

  • 🟥 allocated_mem [+223 bytes; +224 bytes] or [+13.613%; +13.620%]
  • 🟥 throughput [-24552.431op/s; -23099.169op/s] or [-13.162%; -12.383%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_GetContext_Sampled net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.630%; +13.638%]
  • 🟥 throughput [-53723.849op/s; -51279.875op/s] or [-18.085%; -17.262%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_GetContext_Sampled netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.185%; +13.192%]
  • 🟥 throughput [-28779.179op/s; -26858.645op/s] or [-13.351%; -12.460%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_SetAttributes_Sampled net472

  • 🟥 allocated_mem [+224 bytes; +225 bytes] or [+10.343%; +10.351%]
  • 🟥 throughput [-21772.096op/s; -20880.599op/s] or [-13.965%; -13.393%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_SetAttributes_Sampled net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+9.993%; +10.002%]
  • 🟥 throughput [-34334.192op/s; -30867.621op/s] or [-15.371%; -13.819%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_SetAttributes_Sampled netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+9.751%; +9.760%]
  • 🟥 throughput [-27206.323op/s; -25024.848op/s] or [-15.013%; -13.809%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_SetStatus_Sampled net472

  • 🟥 allocated_mem [+224 bytes; +225 bytes] or [+13.674%; +13.682%]
  • 🟥 throughput [-34950.933op/s; -33676.699op/s] or [-18.065%; -17.407%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_SetStatus_Sampled net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.630%; +13.638%]
  • 🟥 throughput [-43974.274op/s; -40992.433op/s] or [-14.854%; -13.847%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_SetStatus_Sampled netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.185%; +13.192%]
  • 🟥 throughput [-39351.523op/s; -36679.280op/s] or [-17.484%; -16.296%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_UpdateName_Sampled net472

  • 🟥 allocated_mem [+223 bytes; +224 bytes] or [+13.613%; +13.620%]
  • 🟥 throughput [-33192.053op/s; -31251.548op/s] or [-17.074%; -16.076%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_UpdateName_Sampled net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.630%; +13.638%]
  • 🟥 throughput [-49538.184op/s; -45352.130op/s] or [-16.821%; -15.400%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.ActivityBenchmark.StartSpan_UpdateName_Sampled netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.185%; +13.192%]
  • 🟥 throughput [-43815.771op/s; -41308.967op/s] or [-19.345%; -18.238%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan net472

  • 🟥 allocated_mem [+224 bytes; +225 bytes] or [+12.744%; +12.751%]
  • 🟥 throughput [-27856.077op/s; -26795.003op/s] or [-14.966%; -14.396%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.407%; +13.415%]
  • 🟥 throughput [-46527.543op/s; -39845.951op/s] or [-16.606%; -14.221%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+12.971%; +12.979%]
  • 🟥 throughput [-32642.467op/s; -29591.097op/s] or [-15.788%; -14.312%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_AddEvent_Sampled net472

  • 🟥 allocated_mem [+224 bytes; +225 bytes] or [+10.821%; +10.829%]
  • 🟥 throughput [-33414.236op/s; -32662.504op/s] or [-19.103%; -18.673%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_AddEvent_Sampled net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+11.055%; +11.064%]
  • 🟥 throughput [-46735.151op/s; -41781.827op/s] or [-18.551%; -16.585%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_AddEvent_Sampled netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+10.760%; +10.767%]
  • 🟥 throughput [-28651.351op/s; -26488.737op/s] or [-15.418%; -14.254%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_GetContext_Sampled net472

  • 🟥 allocated_mem [+224 bytes; +225 bytes] or [+12.744%; +12.751%]
  • 🟥 throughput [-28583.804op/s; -27439.168op/s] or [-15.864%; -15.229%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_GetContext_Sampled net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.407%; +13.415%]
  • 🟥 throughput [-47752.796op/s; -43618.680op/s] or [-17.437%; -15.927%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_GetContext_Sampled netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+12.971%; +12.979%]
  • 🟥 throughput [-29166.960op/s; -24931.555op/s] or [-14.458%; -12.358%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_RecordException_Sampled net472

  • 🟥 allocated_mem [+224 bytes; +225 bytes] or [+7.828%; +7.836%]
  • 🟥 throughput [-12613.849op/s; -12021.983op/s] or [-10.360%; -9.874%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_RecordException_Sampled net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+7.289%; +7.296%]
  • 🟥 throughput [-19771.364op/s; -16154.893op/s] or [-11.463%; -9.366%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_RecordException_Sampled netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+7.162%; +7.171%]
  • 🟥 throughput [-19644.079op/s; -18127.369op/s] or [-13.467%; -12.427%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_SetAttributes_Sampled net472

  • 🟥 allocated_mem [+223 bytes; +224 bytes] or [+9.757%; +9.764%]
  • 🟥 throughput [-26915.201op/s; -26498.828op/s] or [-17.705%; -17.431%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_SetAttributes_Sampled net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+9.872%; +9.881%]
  • 🟥 throughput [-32627.379op/s; -29493.202op/s] or [-14.734%; -13.319%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_SetAttributes_Sampled netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+9.633%; +9.641%]
  • 🟥 throughput [-26876.199op/s; -25615.443op/s] or [-15.579%; -14.848%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_SetStatus_Sampled net472

  • 🟥 allocated_mem [+224 bytes; +225 bytes] or [+12.188%; +12.195%]
  • 🟥 throughput [-25619.440op/s; -24468.893op/s] or [-15.026%; -14.351%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_SetStatus_Sampled net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+12.698%; +12.705%]
  • 🟥 throughput [-40647.304op/s; -36859.366op/s] or [-15.694%; -14.231%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_SetStatus_Sampled netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+12.302%; +12.311%]
  • 🟥 throughput [-28518.794op/s; -24892.028op/s] or [-14.647%; -12.785%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_UpdateName_Sampled net472

  • 🟥 allocated_mem [+224 bytes; +225 bytes] or [+12.744%; +12.751%]
  • 🟥 throughput [-29753.206op/s; -29090.145op/s] or [-16.011%; -15.654%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_UpdateName_Sampled net6.0

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+13.407%; +13.415%]
  • 🟥 throughput [-44499.145op/s; -40876.723op/s] or [-15.642%; -14.368%]

scenario:Benchmarks.OpenTelemetry.InstrumentedApi.Trace.TelemetrySpanBenchmark.StartSpan_UpdateName_Sampled netcoreapp3.1

  • 🟥 allocated_mem [+191 bytes; +192 bytes] or [+12.971%; +12.979%]
  • 🟥 throughput [-31733.824op/s; -29265.470op/s] or [-14.814%; -13.662%]

scenario:Benchmarks.Trace.ActivityBenchmark.StartStopWithChild net472

  • 🟥 allocated_mem [+280 bytes; +281 bytes] or [+7.199%; +7.213%]
  • 🟥 throughput [-14693.014op/s; -14305.614op/s] or [-17.422%; -16.962%]

scenario:Benchmarks.Trace.ActivityBenchmark.StartStopWithChild net6.0

  • 🟥 allocated_mem [+247 bytes; +248 bytes] or [+7.558%; +7.571%]
  • 🟥 throughput [-12826.318op/s; -10602.470op/s] or [-10.781%; -8.912%]

scenario:Benchmarks.Trace.ActivityBenchmark.StartStopWithChild netcoreapp3.1

  • 🟥 allocated_mem [+247 bytes; +248 bytes] or [+7.137%; +7.148%]
  • 🟥 throughput [-14657.224op/s; -13320.019op/s] or [-14.903%; -13.544%]

scenario:Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces net472

  • 🟥 allocated_mem [+1.573KB; +1.573KB] or [+47.789%; +47.804%]
  • 🟥 execution_time [+306.759ms; +312.944ms] or [+152.225%; +155.294%]
  • 🟥 throughput [-64.946op/s; -57.797op/s] or [-11.685%; -10.399%]

scenario:Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces net6.0

  • 🟥 allocated_mem [+1.011KB; +1.011KB] or [+37.485%; +37.498%]
  • 🟥 execution_time [+375.009ms; +376.967ms] or [+296.280%; +297.827%]
  • 🟩 throughput [+67.717op/s; +70.968op/s] or [+8.928%; +9.357%]

scenario:Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces netcoreapp3.1

  • 🟥 allocated_mem [+1.091KB; +1.091KB] or [+40.454%; +40.465%]
  • 🟥 execution_time [+396.436ms; +402.285ms] or [+350.831%; +356.007%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody net472

  • 🟥 allocated_mem [+4.734KB; +4.734KB] or [+99.652%; +99.667%]
  • 🟥 throughput [-59876.532op/s; -59507.873op/s] or [-46.587%; -46.300%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody net6.0

  • 🟥 allocated_mem [+3.856KB; +3.856KB] or [+81.546%; +81.558%]
  • 🟩 execution_time [-16.119ms; -11.934ms] or [-7.528%; -5.574%]
  • 🟥 throughput [-60206.057op/s; -57444.176op/s] or [-43.947%; -41.931%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody netcoreapp3.1

  • 🟥 allocated_mem [+4.583KB; +4.584KB] or [+99.120%; +99.133%]
  • 🟥 throughput [-49140.421op/s; -46897.109op/s] or [-44.429%; -42.400%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody net472

  • 🟥 allocated_mem [+1.356KB; +1.356KB] or [+109.716%; +109.731%]
  • 🟥 throughput [-269517.282op/s; -266233.284op/s] or [-27.519%; -27.184%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody net6.0

  • 🟥 allocated_mem [+519 bytes; +520 bytes] or [+42.477%; +42.486%]
  • 🟩 execution_time [-26.595ms; -21.685ms] or [-11.860%; -9.671%]
  • 🟥 throughput [-102851.734op/s; -77890.222op/s] or [-10.988%; -8.321%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody netcoreapp3.1

  • 🟥 allocated_mem [+1.320KB; +1.320KB] or [+109.261%; +109.277%]
  • 🟥 throughput [-171145.806op/s; -155003.004op/s] or [-24.590%; -22.271%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorMoreComplexBody net472

  • 🟥 allocated_mem [+3.378KB; +3.378KB] or [+89.003%; +89.017%]
  • 🟥 throughput [-72637.198op/s; -71886.606op/s] or [-48.884%; -48.379%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorMoreComplexBody net6.0

  • 🟥 allocated_mem [+3.336KB; +3.336KB] or [+88.150%; +88.161%]
  • 🟥 throughput [-72872.961op/s; -69994.225op/s] or [-46.368%; -44.536%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorMoreComplexBody netcoreapp3.1

  • 🟥 allocated_mem [+3.264KB; +3.264KB] or [+88.493%; +88.506%]
  • 🟥 throughput [-56000.265op/s; -53385.607op/s] or [-44.611%; -42.529%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody net6.0

  • 🟩 throughput [+286242.341op/s; +307864.297op/s] or [+9.545%; +10.266%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody netcoreapp3.1

  • 🟩 execution_time [-19.173ms; -14.829ms] or [-8.838%; -6.836%]

scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeArgs net472

  • 🟩 allocated_mem [-13.759KB; -13.756KB] or [-42.324%; -42.316%]
  • 🟥 execution_time [+300.481ms; +301.229ms] or [+150.140%; +150.514%]
  • 🟩 throughput [+984.353op/s; +1002.551op/s] or [+10.872%; +11.073%]

scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeArgs net6.0

  • 🟩 allocated_mem [-13.722KB; -13.718KB] or [-42.341%; -42.329%]
  • 🟥 execution_time [+300.634ms; +303.716ms] or [+151.610%; +153.165%]
  • 🟩 throughput [+2323.194op/s; +2538.739op/s] or [+17.769%; +19.418%]

scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeArgs netcoreapp3.1

  • 🟩 allocated_mem [-13.722KB; -13.718KB] or [-42.341%; -42.329%]
  • 🟥 execution_time [+300.331ms; +302.944ms] or [+151.283%; +152.600%]
  • 🟩 throughput [+1874.661op/s; +2003.731op/s] or [+18.099%; +19.345%]

scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs net472

  • 🟥 execution_time [+296.242ms; +297.341ms] or [+145.503%; +146.042%]
  • 🟩 throughput [+556.258op/s; +571.108op/s] or [+14.747%; +15.140%]

scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs net6.0

  • 🟥 execution_time [+296.244ms; +298.062ms] or [+144.823%; +145.711%]
  • 🟩 throughput [+2745.978op/s; +2788.893op/s] or [+39.894%; +40.517%]

scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs netcoreapp3.1

  • 🟥 execution_time [+301.516ms; +302.574ms] or [+150.697%; +151.226%]
  • 🟩 throughput [+1398.229op/s; +1411.857op/s] or [+27.754%; +28.024%]

scenario:Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark net472

  • 🟩 execution_time [-144.957µs; -140.399µs] or [-29.762%; -28.826%]
  • 🟩 throughput [+835.751op/s; +867.295op/s] or [+40.705%; +42.241%]

scenario:Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark net6.0

  • 🟩 execution_time [-139.231µs; -112.620µs] or [-31.933%; -25.829%]
  • 🟩 throughput [+864.619op/s; +985.788op/s] or [+37.590%; +42.858%]

scenario:Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark netcoreapp3.1

  • 🟩 execution_time [-140.868µs; -118.172µs] or [-30.181%; -25.319%]
  • 🟩 throughput [+755.438op/s; +848.151op/s] or [+34.873%; +39.152%]

scenario:Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack net472

  • 🟩 execution_time [-126.149µs; -121.383µs] or [-34.059%; -32.772%]
  • 🟩 throughput [+1327.181op/s; +1387.298op/s] or [+49.153%; +51.379%]

scenario:Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack net6.0

  • 🟩 execution_time [-101.385µs; -77.790µs] or [-32.367%; -24.834%]
  • 🟩 throughput [+1163.643op/s; +1365.342op/s] or [+36.274%; +42.562%]

scenario:Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack netcoreapp3.1

  • 🟩 execution_time [-137.950µs; -115.538µs] or [-37.738%; -31.607%]
  • 🟩 throughput [+1332.932op/s; +1471.069op/s] or [+47.834%; +52.791%]

scenario:Benchmarks.Trace.AspNetCoreBenchmark.SendRequest net472

  • 🟥 execution_time [+299.999ms; +300.659ms] or [+149.730%; +150.060%]

scenario:Benchmarks.Trace.AspNetCoreBenchmark.SendRequest net6.0

  • unstable execution_time [+328.180ms; +389.444ms] or [+356.581%; +423.147%]

scenario:Benchmarks.Trace.AspNetCoreBenchmark.SendRequest netcoreapp3.1

  • unstable execution_time [+300.154ms; +350.572ms] or [+227.904%; +266.186%]

scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces net472

  • unstable execution_time [+392.573ms; +447.244ms] or [+180.501%; +205.639%]
  • 🟥 throughput [-608.256op/s; -566.232op/s] or [-55.114%; -51.306%]

scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces net6.0

  • unstable execution_time [+143.302ms; +288.913ms] or [+61.069%; +123.123%]
  • 🟥 throughput [-675.227op/s; -591.508op/s] or [-45.038%; -39.454%]

scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces netcoreapp3.1

  • 🟥 execution_time [+335.528ms; +345.148ms] or [+200.685%; +206.439%]
  • 🟥 throughput [-381.678op/s; -345.713op/s] or [-26.576%; -24.071%]

scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool netcoreapp3.1

  • unstable throughput [+5.330op/s; +82.946op/s] or [+0.995%; +15.483%]

scenario:Benchmarks.Trace.CharSliceBenchmark.OriginalCharSlice net6.0

  • 🟩 execution_time [-143.320µs; -100.753µs] or [-7.260%; -5.104%]
  • 🟩 throughput [+28.291op/s; +40.201op/s] or [+5.585%; +7.936%]

scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch net472

  • 🟥 allocated_mem [+232 bytes; +233 bytes] or [+29.051%; +29.061%]
  • 🟥 execution_time [+300.751ms; +302.752ms] or [+151.453%; +152.460%]
  • 🟥 throughput [-64543.176op/s; -62576.780op/s] or [-20.769%; -20.136%]

scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch net6.0

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+25.243%; +25.255%]
  • 🟥 execution_time [+298.406ms; +302.161ms] or [+149.532%; +151.413%]
  • 🟥 throughput [-158205.217op/s; -152521.897op/s] or [-24.943%; -24.047%]

scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch netcoreapp3.1

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+25.243%; +25.255%]
  • 🟥 execution_time [+301.674ms; +305.112ms] or [+151.548%; +153.276%]
  • 🟥 throughput [-109235.308op/s; -101988.134op/s] or [-23.011%; -21.484%]

scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync net472

  • 🟥 allocated_mem [+231 bytes; +232 bytes] or [+26.998%; +27.011%]
  • 🟥 execution_time [+302.129ms; +303.807ms] or [+151.719%; +152.561%]
  • 🟥 throughput [-63160.602op/s; -59660.267op/s] or [-21.160%; -19.987%]

scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync net6.0

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+26.034%; +26.048%]
  • 🟥 execution_time [+297.460ms; +299.484ms] or [+147.081%; +148.082%]
  • 🟥 throughput [-172378.838op/s; -167444.221op/s] or [-27.774%; -26.979%]

scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync netcoreapp3.1

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+23.803%; +23.815%]
  • 🟥 execution_time [+304.718ms; +308.654ms] or [+154.444%; +156.439%]
  • 🟥 throughput [-116487.124op/s; -107744.588op/s] or [-25.154%; -23.267%]

scenario:Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync net472

  • 🟥 allocated_mem [+232 bytes; +233 bytes] or [+26.899%; +26.911%]
  • 🟥 execution_time [+300.983ms; +302.710ms] or [+151.066%; +151.933%]
  • 🟥 throughput [-91013.308op/s; -89017.824op/s] or [-23.611%; -23.093%]

scenario:Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync net6.0

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+22.120%; +22.134%]
  • unstable execution_time [+299.483ms; +320.553ms] or [+149.265%; +159.766%]
  • 🟥 throughput [-109178.520op/s; -96151.396op/s] or [-21.679%; -19.093%]

scenario:Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync netcoreapp3.1

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+22.120%; +22.134%]
  • 🟥 execution_time [+297.859ms; +306.099ms] or [+148.182%; +152.282%]
  • 🟥 throughput [-96741.936op/s; -89697.436op/s] or [-22.899%; -21.232%]

scenario:Benchmarks.Trace.ILoggerBenchmark.EnrichedLog net472

  • 🟥 allocated_mem [+232 bytes; +233 bytes] or [+14.414%; +14.424%]
  • 🟥 throughput [-43101.953op/s; -41824.724op/s] or [-17.332%; -16.819%]

scenario:Benchmarks.Trace.ILoggerBenchmark.EnrichedLog net6.0

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+11.730%; +11.740%]
  • 🟩 execution_time [-15.995ms; -11.018ms] or [-7.438%; -5.123%]
  • 🟥 throughput [-57612.381op/s; -49460.181op/s] or [-15.805%; -13.568%]

scenario:Benchmarks.Trace.ILoggerBenchmark.EnrichedLog netcoreapp3.1

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+11.681%; +11.693%]
  • 🟥 throughput [-31144.816op/s; -25358.563op/s] or [-11.369%; -9.257%]

scenario:Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark net472

  • unstable execution_time [+12.428µs; +56.734µs] or [+3.070%; +14.014%]

scenario:Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark net6.0

  • 🟩 allocated_mem [-18.464KB; -18.442KB] or [-6.735%; -6.727%]
  • unstable execution_time [+26.570µs; +126.881µs] or [+5.251%; +25.077%]
  • unstable throughput [-320.436op/s; -51.301op/s] or [-15.990%; -2.560%]

scenario:Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark netcoreapp3.1

  • 🟩 allocated_mem [-18.381KB; -18.363KB] or [-6.701%; -6.694%]
  • unstable execution_time [-40.266µs; +23.193µs] or [-6.978%; +4.019%]
  • unstable throughput [-56.595op/s; +120.218op/s] or [-3.233%; +6.868%]

scenario:Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark net6.0

  • unstable execution_time [+7.685µs; +13.153µs] or [+18.166%; +31.091%]
  • 🟥 throughput [-5493.413op/s; -3508.544op/s] or [-23.126%; -14.770%]

scenario:Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark netcoreapp3.1

  • unstable execution_time [-15.138µs; -7.828µs] or [-23.486%; -12.145%]
  • 🟩 throughput [+1976.770op/s; +3573.494op/s] or [+12.128%; +21.925%]

scenario:Benchmarks.Trace.Log4netBenchmark.EnrichedLog net472

  • 🟥 allocated_mem [+234 bytes; +235 bytes] or [+5.187%; +5.198%]
  • 🟥 execution_time [+304.172ms; +305.646ms] or [+153.746%; +154.490%]

scenario:Benchmarks.Trace.Log4netBenchmark.EnrichedLog net6.0

  • 🟥 execution_time [+305.523ms; +310.574ms] or [+155.510%; +158.081%]

scenario:Benchmarks.Trace.Log4netBenchmark.EnrichedLog netcoreapp3.1

  • 🟥 execution_time [+297.833ms; +299.989ms] or [+149.102%; +150.182%]

scenario:Benchmarks.Trace.RedisBenchmark.SendReceive net472

  • 🟥 allocated_mem [+232 bytes; +233 bytes] or [+22.334%; +22.344%]
  • 🟥 throughput [-104758.175op/s; -103221.741op/s] or [-29.000%; -28.575%]

scenario:Benchmarks.Trace.RedisBenchmark.SendReceive net6.0

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+19.226%; +19.238%]
  • 🟥 throughput [-105654.032op/s; -102509.724op/s] or [-19.998%; -19.403%]

scenario:Benchmarks.Trace.RedisBenchmark.SendReceive netcoreapp3.1

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+19.226%; +19.237%]
  • 🟥 throughput [-97810.742op/s; -88122.709op/s] or [-23.149%; -20.856%]

scenario:Benchmarks.Trace.SerilogBenchmark.EnrichedLog net472

  • 🟥 allocated_mem [+231 bytes; +232 bytes] or [+11.359%; +11.371%]
  • 🟥 execution_time [+299.038ms; +301.961ms] or [+149.044%; +150.500%]
  • 🟥 throughput [-22861.642op/s; -21456.320op/s] or [-15.096%; -14.168%]

scenario:Benchmarks.Trace.SerilogBenchmark.EnrichedLog net6.0

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+12.500%; +12.509%]
  • 🟥 execution_time [+300.846ms; +309.043ms] or [+151.071%; +155.186%]
  • 🟥 throughput [-26351.624op/s; -22711.541op/s] or [-11.460%; -9.877%]

scenario:Benchmarks.Trace.SerilogBenchmark.EnrichedLog netcoreapp3.1

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+12.131%; +12.140%]
  • 🟥 execution_time [+304.741ms; +307.418ms] or [+154.545%; +155.903%]
  • 🟥 throughput [-22596.498op/s; -20435.311op/s] or [-12.727%; -11.509%]

scenario:Benchmarks.Trace.SingleSpanAspNetCoreBenchmark.SingleSpanAspNetCore net472

  • 🟥 execution_time [+299.551ms; +300.348ms] or [+149.418%; +149.815%]
  • 🟩 throughput [+60788892.105op/s; +61138359.770op/s] or [+44.270%; +44.525%]

scenario:Benchmarks.Trace.SingleSpanAspNetCoreBenchmark.SingleSpanAspNetCore net6.0

  • unstable execution_time [+338.419ms; +398.141ms] or [+420.885%; +495.159%]

scenario:Benchmarks.Trace.SingleSpanAspNetCoreBenchmark.SingleSpanAspNetCore netcoreapp3.1

  • 🟥 execution_time [+299.412ms; +300.556ms] or [+149.340%; +149.910%]

scenario:Benchmarks.Trace.SpanBenchmark.StartFinishScope net472

  • 🟥 throughput [-88109.049op/s; -83842.186op/s] or [-9.833%; -9.357%]

scenario:Benchmarks.Trace.SpanBenchmark.StartFinishSpan net472

  • 🟥 throughput [-132828.478op/s; -129454.890op/s] or [-12.159%; -11.850%]

scenario:Benchmarks.Trace.SpanBenchmark.StartFinishTwoScopes net472

  • 🟥 throughput [-25995.143op/s; -22970.008op/s] or [-5.792%; -5.118%]

scenario:Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin net472

  • 🟥 allocated_mem [+231 bytes; +232 bytes] or [+38.024%; +38.038%]
  • 🟥 throughput [-252814.279op/s; -247655.922op/s] or [-37.001%; -36.246%]

scenario:Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin net6.0

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+30.858%; +30.872%]
  • 🟥 throughput [-235534.546op/s; -218347.399op/s] or [-26.315%; -24.395%]

scenario:Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin netcoreapp3.1

  • 🟥 allocated_mem [+199 bytes; +200 bytes] or [+30.858%; +30.870%]
  • 🟥 throughput [-214300.922op/s; -199788.313op/s] or [-29.922%; -27.896%]

Known flaky benchmarks without significant changes:

  • scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody net472
  • scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net472
  • scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net6.0
  • scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice netcoreapp3.1
  • scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool net472
  • scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool net6.0
  • scenario:Benchmarks.Trace.CharSliceBenchmark.OriginalCharSlice net472
  • scenario:Benchmarks.Trace.CharSliceBenchmark.OriginalCharSlice netcoreapp3.1
  • scenario:Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark net472
  • scenario:Benchmarks.Trace.SpanBenchmark.StartFinishScope net6.0
  • scenario:Benchmarks.Trace.SpanBenchmark.StartFinishScope netcoreapp3.1
  • scenario:Benchmarks.Trace.SpanBenchmark.StartFinishSpan net6.0
  • scenario:Benchmarks.Trace.SpanBenchmark.StartFinishSpan netcoreapp3.1
  • scenario:Benchmarks.Trace.SpanBenchmark.StartFinishTwoScopes net6.0
  • scenario:Benchmarks.Trace.SpanBenchmark.StartFinishTwoScopes netcoreapp3.1

@MilanGarnier
MilanGarnier marked this pull request as ready for review August 19, 2026 15:11
@MilanGarnier
MilanGarnier requested a review from a team as a code owner August 19, 2026 15:11

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bf379941ce

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread tracer/src/Datadog.Trace/OpenTelemetry/Traces/OtlpTracesProtobufSerializer.cs Outdated
Comment thread tracer/src/Datadog.Trace/OpenTelemetry/Traces/OtlpTracesProtobufSerializer.cs Outdated
@MilanGarnier
MilanGarnier force-pushed the milan.garnier/apmapi-2191-otlp-export-ot-th-rv branch from 2138077 to 4b6a5e8 Compare August 21, 2026 08:45
Comment thread tracer/src/Datadog.Trace/OpenTelemetry/Traces/OtlpTracesJsonSerializer.cs Outdated
Comment thread tracer/src/Datadog.Trace/OpenTelemetry/Traces/OtlpTracesJsonSerializer.cs Outdated

@zacharycmontoya zacharycmontoya left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This set of changes LGTM

@MilanGarnier
MilanGarnier requested a review from a team as a code owner August 24, 2026 16:06
@MilanGarnier
MilanGarnier requested review from vandonr and removed request for a team August 24, 2026 16:06
@MilanGarnier
MilanGarnier force-pushed the milan.garnier/apmapi-2191-otlp-export-ot-th-rv branch from 9c3e961 to 6dc2ca0 Compare August 24, 2026 16:06
@MilanGarnier
MilanGarnier force-pushed the milan.garnier/apmapi-2191-otlp-export-ot-th-rv branch from 6dc2ca0 to a32bde3 Compare August 24, 2026 16:20
@MilanGarnier
MilanGarnier force-pushed the milan.garnier/apmapi-2191-otlp-export-ot-th-rv branch from a32bde3 to a29c8a7 Compare August 24, 2026 16:37
@dd-trace-dotnet-ci-bot
dd-trace-dotnet-ci-bot Bot deployed to publish-debug-symbols-env August 24, 2026 17:51 Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:opentelemetry OpenTelemetry support docker_image_artifacts Use to label PRs for which you would need a Docker Image created for. type:enhancement Improvement to an existing feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants