Skip to content

Commit c191c28

Browse files
committed
perf(propagators): benchmark dd and ot ordering
1 parent fc1480a commit c191c28

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

tracer/test/benchmarks/Benchmarks.Trace/W3CTraceContextPropagatorBenchmark.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,14 @@ public class W3CTraceContextPropagatorBenchmark
2323
"t.usr.id:12345~,ot=rv:ef284ace7a91e1;th:e6666666666668," +
2424
"rojo=00f067aa0ba902b7";
2525

26+
private const string DatadogAndOtelTraceState =
27+
"dd=s:2;o:rum;p:0123456789abcdef;t.dm:-4;t.usr.id:12345~," +
28+
"ot=rv:ef284ace7a91e1;th:e6666666666668";
29+
30+
private const string OtelAndDatadogTraceState =
31+
"ot=rv:ef284ace7a91e1;th:e6666666666668," +
32+
"dd=s:2;o:rum;p:0123456789abcdef;t.dm:-4;t.usr.id:12345~";
33+
2634
[Benchmark]
2735
public string ParseTraceStateWithSingleVendor()
2836
=> W3CTraceContextPropagator.ParseTraceState(SingleVendorTraceState)
@@ -42,4 +50,14 @@ public string ParseTraceStateWithMultipleVendorsAndDatadogFirst()
4250
public string ParseTraceStateWithMultipleVendorsAndOtelTraceState()
4351
=> W3CTraceContextPropagator.ParseTraceState(MultipleVendorsWithOtelTraceState)
4452
.LastParent;
53+
54+
[Benchmark]
55+
public string ParseTraceStateWithDatadogBeforeOtel()
56+
=> W3CTraceContextPropagator.ParseTraceState(DatadogAndOtelTraceState)
57+
.LastParent;
58+
59+
[Benchmark]
60+
public string ParseTraceStateWithOtelBeforeDatadog()
61+
=> W3CTraceContextPropagator.ParseTraceState(OtelAndDatadogTraceState)
62+
.LastParent;
4563
}

0 commit comments

Comments
 (0)