Skip to content

[Tracer] Tracking sampling mechanism with _dd.p.dm tag#2982

Merged
lucaspimentel merged 85 commits into
masterfrom
lpimentel/sampling-decision-2
Aug 23, 2022
Merged

[Tracer] Tracking sampling mechanism with _dd.p.dm tag#2982
lucaspimentel merged 85 commits into
masterfrom
lpimentel/sampling-decision-2

Conversation

@lucaspimentel

@lucaspimentel lucaspimentel commented Jul 14, 2022

Copy link
Copy Markdown
Member

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:

  • set manually by the user
  • using a sampling rate from the agent
  • using a sampling rate configured by the user
  • sampled by ASM due to security event
  • etc

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 SamplingDecision instead of a sampling priority (int). In the future we may add more fields, like the sampling rate.

readonly struct SamplingDecision
{
   // sampling priority (-1, 0, 1, 2)
   int Priority;

   // sampling mechanism (0..8), if known
   int? Mechanism;
}

The TraceContext now keeps track of the sampling mechanism in addition to the sampling priority.

When a trace is serialized, we now add the new _dd.p.dm trace tag in addition to the older _sampling_priority_v1 tag. Note that _dd.p.dm uses the new "trace tag" collection. We can migrate _sampling_priority_v1 and other tag to use this feature in a future PR.

Test coverage

  • updated ~900 snapshots to add the new _dd.p.dm tag to traces
  • added unit test and integration tests for new or updated functionality

Other details

Based on previous work in #2459

@lucaspimentel lucaspimentel added the area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) label Jul 14, 2022
@lucaspimentel
lucaspimentel force-pushed the lpimentel/sampling-decision-2 branch 5 times, most recently from 0de175d to 264e83c Compare July 21, 2022 18:33
@andrewlock

This comment has been minimized.

@lucaspimentel
lucaspimentel force-pushed the lpimentel/sampling-decision-2 branch 2 times, most recently from d175859 to 9da2f5a Compare July 22, 2022 15:26
@andrewlock

This comment has been minimized.

@lucaspimentel lucaspimentel changed the title [DRAFT] sampling decision redux [DRAFT] tracking sampling decisions with _dd.p.dm tag Jul 22, 2022
@lucaspimentel
lucaspimentel force-pushed the lpimentel/sampling-decision-2 branch 2 times, most recently from 8860037 to 2d7e117 Compare July 22, 2022 17:41
@andrewlock

This comment has been minimized.

@andrewlock

This comment has been minimized.

@lucaspimentel
lucaspimentel force-pushed the lpimentel/sampling-decision-2 branch from 94767f9 to f13c70d Compare August 3, 2022 18:04
@andrewlock

This comment has been minimized.

@andrewlock

This comment has been minimized.

@andrewlock

This comment has been minimized.

@andrewlock

This comment has been minimized.

@lucaspimentel
lucaspimentel force-pushed the lpimentel/sampling-decision-2 branch from e85d019 to 7d19b27 Compare August 5, 2022 21:29
@andrewlock

This comment has been minimized.

@andrewlock

This comment has been minimized.

@andrewlock

This comment has been minimized.

@lucaspimentel
lucaspimentel force-pushed the lpimentel/sampling-decision-2 branch from 1ade3ff to 3575678 Compare August 9, 2022 02:23
@github-actions

This comment has been minimized.

@andrewlock

This comment has been minimized.

@github-actions

This comment has been minimized.

@andrewlock

This comment has been minimized.

@github-actions

This comment has been minimized.

@andrewlock

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@andrewlock

This comment has been minimized.

@github-actions

This comment has been minimized.

@andrewlock

This comment has been minimized.

@github-actions

This comment has been minimized.

@andrewlock

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Snapshots difference summary

The 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,

@andrewlock

Copy link
Copy Markdown
Member

Benchmarks Report 🐌

Benchmarks for #2982 compared to master:

  • 13 benchmarks are slower, with geometric mean 1.177
  • 27 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.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 739μs 206ns 772ns 0.368 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 460μs 129ns 483ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 727μs 427ns 1.65μs 0.361 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 452μs 128ns 478ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #2982

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%

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%

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%

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%

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%

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%

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%

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%

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%

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%

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%

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%

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

@andrewlock

Copy link
Copy Markdown
Member

Code Coverage Report 📊

✔️ Merging #2982 into master will not change line coverage
✔️ Merging #2982 into master will not change branch coverage
⛔ Merging #2982 into master will will increase complexity by 60

master #2982 Change
Lines 16839 / 23281 16977 / 23344
Lines % 72% 73% 0% ✔️
Branches 10031 / 14362 10135 / 14416
Branches % 70% 70% 0% ✔️
Complexity 15458 15518 60

View the full report for further details:

Datadog.Trace Breakdown ✔️

master #2982 Change
Lines % 72% 73% 0% ✔️
Branches % 70% 70% 0% ✔️
Complexity 15458 15518 60

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.ExtensionMethods.SpanExtensions -2% ⚠️ -9% -1 ✔️
Datadog.Trace.ClrProfiler.CommonTracer 0% ✔️ -25% -4 ✔️
Datadog.Trace.Sampling.DefaultSamplingRule 0% ✔️ 6% ✔️ 8
Datadog.Trace.Ci.CIVisibility 5% ✔️ 6% ✔️ 0 ✔️
Datadog.Trace.Telemetry.Transports.JsonTelemetryTransport 39% ✔️ 54% ✔️ 0 ✔️

The following classes were added in #2982:

File Line coverage Branch coverage Complexity
Datadog.Trace.Sampling.SamplingDecision 100% 100% 3

View the full reports for further details:

@lucaspimentel
lucaspimentel merged commit 743c418 into master Aug 23, 2022
@lucaspimentel
lucaspimentel deleted the lpimentel/sampling-decision-2 branch August 23, 2022 13:45
@github-actions github-actions Bot added this to the vNext milestone Aug 23, 2022
@lucaspimentel lucaspimentel changed the title Tracking sampling mechanism with _dd.p.dm tag [Tracer] Tracking sampling mechanism with _dd.p.dm tag Aug 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) type:new-feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants