[Tracer] Tracking sampling mechanism with _dd.p.dm tag#2982
Merged
Conversation
lucaspimentel
force-pushed
the
lpimentel/sampling-decision-2
branch
5 times, most recently
from
July 21, 2022 18:33
0de175d to
264e83c
Compare
This comment has been minimized.
This comment has been minimized.
lucaspimentel
force-pushed
the
lpimentel/sampling-decision-2
branch
2 times, most recently
from
July 22, 2022 15:26
d175859 to
9da2f5a
Compare
This comment has been minimized.
This comment has been minimized.
_dd.p.dm tag
lucaspimentel
force-pushed
the
lpimentel/sampling-decision-2
branch
2 times, most recently
from
July 22, 2022 17:41
8860037 to
2d7e117
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
lucaspimentel
force-pushed
the
lpimentel/sampling-decision-2
branch
from
August 3, 2022 18:04
94767f9 to
f13c70d
Compare
lucaspimentel
commented
Aug 3, 2022
lucaspimentel
commented
Aug 3, 2022
lucaspimentel
commented
Aug 3, 2022
This comment has been minimized.
This comment has been minimized.
lucaspimentel
commented
Aug 3, 2022
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
lucaspimentel
force-pushed
the
lpimentel/sampling-decision-2
branch
from
August 5, 2022 21:29
e85d019 to
7d19b27
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
lucaspimentel
force-pushed
the
lpimentel/sampling-decision-2
branch
from
August 9, 2022 02:23
1ade3ff to
3575678
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Contributor
Snapshots difference summaryThe following differences have been observed in snapshots. So diff is simplistic, so please check some files anyway while we improve it. 1874 occurrences of : + _dd.p.dm: -0
267 occurrences of : + _dd.p.dm: -0,
|
Member
Benchmarks Report 🐌Benchmarks for #2982 compared to master:
The following thresholds were used for comparing the benchmark speeds:
Allocation changes below 0.5% are ignored. Benchmark detailsBenchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.AppSecBodyBenchmark - Slower
|
| Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net472 | 1.236 | 181.38 | 224.21 |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | AllCycleSimpleBody |
net472 | 195ns | 0.797ns | 3.09ns | 0.0676 | 0 | 0 | 425 B |
| master | AllCycleSimpleBody |
netcoreapp3.1 | 235ns | 0.188ns | 0.651ns | 0.00583 | 0 | 0 | 424 B |
| master | AllCycleMoreComplexBody |
net472 | 181ns | 0.172ns | 0.666ns | 0.0637 | 0 | 0 | 401 B |
| master | AllCycleMoreComplexBody |
netcoreapp3.1 | 240ns | 0.309ns | 1.2ns | 0.00548 | 0 | 0 | 400 B |
| master | BodyExtractorSimpleBody |
net472 | 261ns | 0.278ns | 1.08ns | 0.0573 | 0 | 0 | 361 B |
| master | BodyExtractorSimpleBody |
netcoreapp3.1 | 220ns | 0.203ns | 0.761ns | 0.00375 | 0 | 0 | 272 B |
| master | BodyExtractorMoreComplexBody |
net472 | 14.4μs | 9.14ns | 34.2ns | 1.21 | 0.0215 | 0 | 7.62 KB |
| master | BodyExtractorMoreComplexBody |
netcoreapp3.1 | 12.4μs | 14.8ns | 57.1ns | 0.0935 | 0 | 0 | 6.75 KB |
| #2982 | AllCycleSimpleBody |
net472 | 184ns | 0.249ns | 0.963ns | 0.0675 | 0 | 0 | 425 B |
| #2982 | AllCycleSimpleBody |
netcoreapp3.1 | 234ns | 0.309ns | 1.2ns | 0.00567 | 0 | 0 | 424 B |
| #2982 | AllCycleMoreComplexBody |
net472 | 224ns | 0.118ns | 0.456ns | 0.0637 | 0 | 0 | 401 B |
| #2982 | AllCycleMoreComplexBody |
netcoreapp3.1 | 237ns | 0.194ns | 0.752ns | 0.00547 | 0 | 0 | 400 B |
| #2982 | BodyExtractorSimpleBody |
net472 | 252ns | 0.329ns | 1.23ns | 0.0574 | 0 | 0 | 361 B |
| #2982 | BodyExtractorSimpleBody |
netcoreapp3.1 | 232ns | 0.215ns | 0.834ns | 0.0037 | 0 | 0 | 272 B |
| #2982 | BodyExtractorMoreComplexBody |
net472 | 14.7μs | 9.79ns | 37.9ns | 1.21 | 0.022 | 0 | 7.62 KB |
| #2982 | BodyExtractorMoreComplexBody |
netcoreapp3.1 | 12μs | 10.3ns | 39.8ns | 0.0902 | 0 | 0 | 6.75 KB |
Benchmarks.Trace.AspNetCoreBenchmark - Unknown 🤷 More allocations ⚠️
More allocations ⚠️ in #2982
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1
20.33 KB
20.57 KB
240 B
1.18%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 | 20.33 KB | 20.57 KB | 240 B | 1.18% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendRequest |
net472 | 0ns | 0ns | 0ns | 0 | 0 | 0 | 0 b |
| master | SendRequest |
netcoreapp3.1 | 178μs | 137ns | 531ns | 0.268 | 0 | 0 | 20.33 KB |
| #2982 | SendRequest |
net472 | 0ns | 0ns | 0ns | 0 | 0 | 0 | 0 b |
| #2982 | SendRequest |
netcoreapp3.1 | 180μs | 159ns | 618ns | 0.18 | 0 | 0 | 20.57 KB |
Benchmarks.Trace.DbCommandBenchmark - Slower ⚠️ More allocations ⚠️
Slower ⚠️ in #2982
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472
1.207
1,557.97
1,881.12
More allocations ⚠️ in #2982
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472
794 B
947 B
153 B
19.27%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1
824 B
936 B
112 B
13.59%
| Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 | 1.207 | 1,557.97 | 1,881.12 |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 | 794 B | 947 B | 153 B | 19.27% |
| Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 | 824 B | 936 B | 112 B | 13.59% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | ExecuteNonQuery |
net472 | 1.56μs | 2.75ns | 9.93ns | 0.126 | 0.000773 | 0 | 794 B |
| master | ExecuteNonQuery |
netcoreapp3.1 | 1.31μs | 0.467ns | 1.68ns | 0.0111 | 0 | 0 | 824 B |
| #2982 | ExecuteNonQuery |
net472 | 1.88μs | 0.422ns | 1.64ns | 0.15 | 0.000942 | 0 | 947 B |
| #2982 | ExecuteNonQuery |
netcoreapp3.1 | 1.37μs | 0.273ns | 1.02ns | 0.0123 | 0 | 0 | 936 B |
Benchmarks.Trace.ElasticsearchBenchmark - Slower ⚠️ More allocations ⚠️
Slower ⚠️ in #2982
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1
1.115
1,384.99
1,544.51
More allocations ⚠️ in #2982
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472
1 KB
1.16 KB
153 B
15.25%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472
1.14 KB
1.29 KB
152 B
13.33%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1
984 B
1.1 KB
112 B
11.38%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1
1.1 KB
1.22 KB
112 B
10.14%
| Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 | 1.115 | 1,384.99 | 1,544.51 |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 | 1 KB | 1.16 KB | 153 B | 15.25% |
| Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 | 1.14 KB | 1.29 KB | 152 B | 13.33% |
| Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 | 984 B | 1.1 KB | 112 B | 11.38% |
| Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 | 1.1 KB | 1.22 KB | 112 B | 10.14% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | CallElasticsearch |
net472 | 2.21μs | 0.539ns | 2.02ns | 0.158 | 0 | 0 | 1 KB |
| master | CallElasticsearch |
netcoreapp3.1 | 1.38μs | 1.31ns | 5.09ns | 0.0131 | 0 | 0 | 984 B |
| master | CallElasticsearchAsync |
net472 | 2.28μs | 1.16ns | 4.48ns | 0.181 | 0 | 0 | 1.14 KB |
| master | CallElasticsearchAsync |
netcoreapp3.1 | 1.51μs | 0.335ns | 1.25ns | 0.0144 | 0 | 0 | 1.1 KB |
| #2982 | CallElasticsearch |
net472 | 2.43μs | 0.695ns | 2.69ns | 0.184 | 0 | 0 | 1.16 KB |
| #2982 | CallElasticsearch |
netcoreapp3.1 | 1.54μs | 2.43ns | 9.4ns | 0.0152 | 0 | 0 | 1.1 KB |
| #2982 | CallElasticsearchAsync |
net472 | 2.53μs | 1ns | 3.74ns | 0.204 | 0 | 0 | 1.29 KB |
| #2982 | CallElasticsearchAsync |
netcoreapp3.1 | 1.63μs | 3.53ns | 13.7ns | 0.0169 | 0 | 0 | 1.22 KB |
Benchmarks.Trace.GraphQLBenchmark - Slower ⚠️ More allocations ⚠️
Slower ⚠️ in #2982
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1
1.141
1,506.66
1,718.52
More allocations ⚠️ in #2982
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472
1.26 KB
1.41 KB
152 B
12.06%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1
1.22 KB
1.34 KB
112 B
9.15%
| Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 | 1.141 | 1,506.66 | 1,718.52 |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 | 1.26 KB | 1.41 KB | 152 B | 12.06% |
| Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 | 1.22 KB | 1.34 KB | 112 B | 9.15% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | ExecuteAsync |
net472 | 2.4μs | 10.8ns | 40.3ns | 0.2 | 0 | 0 | 1.26 KB |
| master | ExecuteAsync |
netcoreapp3.1 | 1.52μs | 4.9ns | 19ns | 0.0162 | 0 | 0 | 1.22 KB |
| #2982 | ExecuteAsync |
net472 | 2.67μs | 5.75ns | 22.3ns | 0.223 | 0 | 0 | 1.41 KB |
| #2982 | ExecuteAsync |
netcoreapp3.1 | 1.72μs | 1.77ns | 6.61ns | 0.0179 | 0 | 0 | 1.34 KB |
Benchmarks.Trace.HttpClientBenchmark - Slower ⚠️ More allocations ⚠️
Slower ⚠️ in #2982
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472
1.174
4,966.89
5,833.55
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1
1.132
3,109.23
3,519.57
More allocations ⚠️ in #2982
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472
2.48 KB
2.77 KB
289 B
11.66%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1
2.36 KB
2.6 KB
240 B
10.17%
| Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 | 1.174 | 4,966.89 | 5,833.55 | |
| Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 | 1.132 | 3,109.23 | 3,519.57 |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 | 2.48 KB | 2.77 KB | 289 B | 11.66% |
| Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 | 2.36 KB | 2.6 KB | 240 B | 10.17% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendAsync |
net472 | 4.97μs | 21.2ns | 82.1ns | 0.392 | 0 | 0 | 2.48 KB |
| master | SendAsync |
netcoreapp3.1 | 3.11μs | 4.92ns | 18.4ns | 0.0311 | 0 | 0 | 2.36 KB |
| #2982 | SendAsync |
net472 | 5.82μs | 14.2ns | 55.1ns | 0.439 | 0 | 0 | 2.77 KB |
| #2982 | SendAsync |
netcoreapp3.1 | 3.52μs | 5.95ns | 22.3ns | 0.0353 | 0 | 0 | 2.6 KB |
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ More allocations ⚠️
More allocations ⚠️ in #2982
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472
1.66 KB
1.81 KB
152 B
9.15%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1
1.73 KB
1.85 KB
112 B
6.46%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 | 1.66 KB | 1.81 KB | 152 B | 9.15% |
| Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 | 1.73 KB | 1.85 KB | 112 B | 6.46% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net472 | 2.97μs | 3.4ns | 13.2ns | 0.264 | 0 | 0 | 1.66 KB |
| master | EnrichedLog |
netcoreapp3.1 | 2.29μs | 0.835ns | 3.01ns | 0.0228 | 0 | 0 | 1.73 KB |
| #2982 | EnrichedLog |
net472 | 3.16μs | 3.51ns | 13.6ns | 0.287 | 0 | 0 | 1.81 KB |
| #2982 | EnrichedLog |
netcoreapp3.1 | 2.49μs | 1.45ns | 5.62ns | 0.0249 | 0 | 0 | 1.85 KB |
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ More allocations ⚠️
More allocations ⚠️ in #2982
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472
4.5 KB
4.65 KB
152 B
3.38%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1
4.38 KB
4.49 KB
113 B
2.58%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 | 4.5 KB | 4.65 KB | 152 B | 3.38% |
| Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 | 4.38 KB | 4.49 KB | 113 B | 2.58% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net472 | 148μs | 135ns | 524ns | 0.663 | 0.221 | 0 | 4.5 KB |
| master | EnrichedLog |
netcoreapp3.1 | 113μs | 206ns | 799ns | 0.0565 | 0 | 0 | 4.38 KB |
| #2982 | EnrichedLog |
net472 | 149μs | 161ns | 625ns | 0.679 | 0.226 | 0 | 4.65 KB |
| #2982 | EnrichedLog |
netcoreapp3.1 | 114μs | 118ns | 456ns | 0 | 0 | 0 | 4.49 KB |
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ More allocations ⚠️
More allocations ⚠️ in #2982
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472
3.43 KB
3.59 KB
152 B
4.43%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1
3.8 KB
3.91 KB
112 B
2.95%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 | 3.43 KB | 3.59 KB | 152 B | 4.43% |
| Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 | 3.8 KB | 3.91 KB | 112 B | 2.95% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net472 | 5.33μs | 17.7ns | 68.5ns | 0.545 | 0.00267 | 0 | 3.43 KB |
| master | EnrichedLog |
netcoreapp3.1 | 4.27μs | 13.1ns | 50.8ns | 0.0509 | 0 | 0 | 3.8 KB |
| #2982 | EnrichedLog |
net472 | 5.75μs | 22.1ns | 85.7ns | 0.569 | 0.00285 | 0 | 3.59 KB |
| #2982 | EnrichedLog |
netcoreapp3.1 | 4.41μs | 12.6ns | 49ns | 0.0525 | 0 | 0 | 3.91 KB |
Benchmarks.Trace.RedisBenchmark - Slower ⚠️ More allocations ⚠️
Slower ⚠️ in #2982
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472
1.115
2,001.48
2,232.36
More allocations ⚠️ in #2982
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472
1.22 KB
1.37 KB
152 B
12.46%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1
1.21 KB
1.32 KB
112 B
9.27%
| Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 | 1.115 | 2,001.48 | 2,232.36 |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 | 1.22 KB | 1.37 KB | 152 B | 12.46% |
| Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 | 1.21 KB | 1.32 KB | 112 B | 9.27% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendReceive |
net472 | 2μs | 2.28ns | 8.52ns | 0.194 | 0 | 0 | 1.22 KB |
| master | SendReceive |
netcoreapp3.1 | 1.61μs | 2.8ns | 10.8ns | 0.0163 | 0 | 0 | 1.21 KB |
| #2982 | SendReceive |
net472 | 2.23μs | 1.13ns | 4.39ns | 0.217 | 0 | 0 | 1.37 KB |
| #2982 | SendReceive |
netcoreapp3.1 | 1.72μs | 0.894ns | 3.34ns | 0.018 | 0 | 0 | 1.32 KB |
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ More allocations ⚠️
More allocations ⚠️ in #2982
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472
2.08 KB
2.23 KB
153 B
7.36%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1
1.69 KB
1.8 KB
112 B
6.64%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 | 2.08 KB | 2.23 KB | 153 B | 7.36% |
| Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 | 1.69 KB | 1.8 KB | 112 B | 6.64% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net472 | 4.71μs | 1.56ns | 6.03ns | 0.33 | 0 | 0 | 2.08 KB |
| master | EnrichedLog |
netcoreapp3.1 | 4.13μs | 1.61ns | 6.01ns | 0.0225 | 0 | 0 | 1.69 KB |
| #2982 | EnrichedLog |
net472 | 4.92μs | 0.965ns | 3.61ns | 0.353 | 0 | 0 | 2.23 KB |
| #2982 | EnrichedLog |
netcoreapp3.1 | 4.33μs | 1.65ns | 6.18ns | 0.0238 | 0 | 0 | 1.8 KB |
Benchmarks.Trace.SpanBenchmark - Slower ⚠️ More allocations ⚠️
Slower ⚠️ in #2982
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472
1.300
849.76
1,104.30
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472
1.204
1,100.36
1,324.86
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1
1.194
902.24
1,077.70
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1
1.184
768.47
909.85
More allocations ⚠️ in #2982
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472
658 B
810 B
152 B
23.10%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472
738 B
891 B
153 B
20.73%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1
648 B
760 B
112 B
17.28%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1
768 B
880 B
112 B
14.58%
| Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 | 1.300 | 849.76 | 1,104.30 | |
| Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 | 1.204 | 1,100.36 | 1,324.86 | |
| Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 | 1.194 | 902.24 | 1,077.70 | |
| Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 | 1.184 | 768.47 | 909.85 |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 | 658 B | 810 B | 152 B | 23.10% |
| Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 | 738 B | 891 B | 153 B | 20.73% |
| Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 | 648 B | 760 B | 112 B | 17.28% |
| Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 | 768 B | 880 B | 112 B | 14.58% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StartFinishSpan |
net472 | 850ns | 0.53ns | 1.98ns | 0.104 | 0 | 0 | 658 B |
| master | StartFinishSpan |
netcoreapp3.1 | 768ns | 0.234ns | 0.874ns | 0.00846 | 0 | 0 | 648 B |
| master | StartFinishScope |
net472 | 1.1μs | 0.467ns | 1.81ns | 0.117 | 0 | 0 | 738 B |
| master | StartFinishScope |
netcoreapp3.1 | 902ns | 0.227ns | 0.82ns | 0.0103 | 0 | 0 | 768 B |
| #2982 | StartFinishSpan |
net472 | 1.1μs | 0.222ns | 0.859ns | 0.128 | 0 | 0 | 810 B |
| #2982 | StartFinishSpan |
netcoreapp3.1 | 910ns | 1.24ns | 4.8ns | 0.0104 | 0 | 0 | 760 B |
| #2982 | StartFinishScope |
net472 | 1.32μs | 2.6ns | 10.1ns | 0.141 | 0 | 0 | 891 B |
| #2982 | StartFinishScope |
netcoreapp3.1 | 1.08μs | 0.591ns | 2.21ns | 0.0118 | 0 | 0 | 880 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower ⚠️ More allocations ⚠️
Slower ⚠️ in #2982
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1
1.197
993.25
1,188.85
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472
1.121
1,287.29
1,442.73
More allocations ⚠️ in #2982
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472
738 B
891 B
153 B
20.73%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1
768 B
880 B
112 B
14.58%
| Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 | 1.197 | 993.25 | 1,188.85 | |
| Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 | 1.121 | 1,287.29 | 1,442.73 |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 | 738 B | 891 B | 153 B | 20.73% |
| Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 | 768 B | 880 B | 112 B | 14.58% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | RunOnMethodBegin |
net472 | 1.29μs | 0.347ns | 1.34ns | 0.117 | 0 | 0 | 738 B |
| master | RunOnMethodBegin |
netcoreapp3.1 | 993ns | 0.515ns | 1.93ns | 0.0104 | 0 | 0 | 768 B |
| #2982 | RunOnMethodBegin |
net472 | 1.44μs | 0.558ns | 2.16ns | 0.141 | 0 | 0 | 891 B |
| #2982 | RunOnMethodBegin |
netcoreapp3.1 | 1.19μs | 0.269ns | 1.04ns | 0.0118 | 0 | 0 | 880 B |
Member
Code Coverage Report 📊✔️ Merging #2982 into master will not change line coverage
View the full report for further details: Datadog.Trace Breakdown ✔️
The following classes have significant coverage changes.
The following classes were added in #2982:
View the full reports for further details: |
_dd.p.dm tag_dd.p.dm tag
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of changes
In this PR, we start tracking a traces sampling mechanism (new) in addition to the sampling priority. The sampling mechanism indicates how a sampling decision was made:
We propagate this information vertically (as tags sent to the Agent) and horizontally (as headers to downstream services).
Reason for change
Tracking sampling decisions helps us provide additional information to users. Horizontal propagation is used to handle individual chunks more efficiently in the backend and to improve the chances that the tag reaches the backend (e.g. if some trace chunks are dropped).
Implementation details
All sampler implementations now return a
SamplingDecisioninstead of a sampling priority (int). In the future we may add more fields, like the sampling rate.The
TraceContextnow keeps track of the sampling mechanism in addition to the sampling priority.When a trace is serialized, we now add the new
_dd.p.dmtrace tag in addition to the older_sampling_priority_v1tag. Note that_dd.p.dmuses the new "trace tag" collection. We can migrate_sampling_priority_v1and other tag to use this feature in a future PR.Test coverage
_dd.p.dmtag to tracesOther details
Based on previous work in #2459