Skip to content

Implement Serverless Service Representation (SSR) in AWS Lambda#7850

Merged
rithikanarayan merged 11 commits intomasterfrom
rithika.narayan/APMSVLS-64-ssr-dotnet
Dec 5, 2025
Merged

Implement Serverless Service Representation (SSR) in AWS Lambda#7850
rithikanarayan merged 11 commits intomasterfrom
rithika.narayan/APMSVLS-64-ssr-dotnet

Conversation

@rithikanarayan
Copy link
Contributor

@rithikanarayan rithikanarayan commented Nov 20, 2025

Summary of changes

Fixes the Serverless Service Representation (SSR) for Dotnet.
In serverless environments, sets peer.service tag for outbound AWS managed service spans to {service type}.{region}.amazonaws.com:

SQS: sqs.us-east-1.amazonaws.com
SNS: sns.us-east-1.amazonaws.com
Kinesis: kinesis.us-east-1.amazonaws.com
Eventbridge: events.us-east-1.amazonaws.com
s3: bucket-name.s3.us-east-1.amazonaws.com
Dynamodb: dynamodb.us-east-1.amazonaws.com

Sets peer.service.source to peer.service for these serverless cases.

In non-serverless cases we assign the peer.service tag to the values of the following tags:

SQS: AwsSqsTags.QueueName
SNS: AwsSnsTags.TopicName
Kinesis: AwsKinesisTags.StreamName
Eventbridge: AwsEventBridgeTags.RuleName
S3: AwsS3Tags.BucketName
Dynamodb: AwsDynamoDbTags.TableName
StepFunctions: AwsStepFunctionsTags.StateMachineName

Sets peer.service source to the respective tag itself. (Ex. for an SQS queue with the name "MyQueue", peer.service = "MyQueue" and peer.service.source = "queuename").

Adds DerivePeerService function in Util/PeerServiceHelpers to do the above assignments.

Reason for change

Before SSR implementation:
Screenshot 2025-11-18 at 5 38 00 PM

After SSR implementation:
Screenshot 2025-11-24 at 1 38 17 PM

Implementation details

See summary of changes.

Test coverage

Covered by AWS integration tests in non-serverless case. Added unit tests for the DerivePeerService function in the PeerServiceHelpersTests.cs file. Manually tested in serverless case as follows due to challenges in assigning the region tag in an integration test. Tested functionality in AWS Lambda by using custom dd-trace-dotnet layer with arn:arn:aws:lambda:us-east-1:425362996713:layer:ssr-dotnet-rithika:15 on a sample app that had an API Gateway trigger a producer lambda, which sent data through Kinesis, SQS, SNS, and EventBridge to consumer lambdas, which wrote to S3 and DynamoDB. Visually inspected the service map (see images in Reason for change section) to check for correct labelling of the inferred spans for these services. Also checked tags in the trace overview to confirm the correct values of the peer.service and peer.service.source tags.

Other details

@rithikanarayan rithikanarayan changed the title SSR Implement Serverless Service Representation (SSR) in AWS Lambda Nov 20, 2025
@datadog-official
Copy link

datadog-official bot commented Nov 20, 2025

⚠️ Tests

⚠️ Warnings

🧪 1 Test failed

AdaptiveCleanupAsync_Should_Handle_Cancellation_Gracefully from Datadog.Trace.Tests.Debugger.CacheTests.ConcurrentAdaptiveCacheTests (Datadog)
The operation has timed out.

ℹ️ Info

❄️ No new flaky tests detected

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

@dd-trace-dotnet-ci-bot
Copy link

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

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing This PR (7850) 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
duration75.64 ± (75.75 - 76.63) ms76.37 ± (76.49 - 77.27) ms+1.0%✅⬆️
.NET Framework 4.8 - Bailout
duration81.44 ± (81.30 - 82.29) ms79.52 ± (79.53 - 80.27) ms-2.4%
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1073.79 ± (1074.30 - 1084.25) ms1069.28 ± (1070.52 - 1081.11) ms-0.4%
.NET Core 3.1 - Baseline
process.internal_duration_ms23.21 ± (23.12 - 23.30) ms23.23 ± (23.14 - 23.32) ms+0.1%✅⬆️
process.time_to_main_ms89.49 ± (88.89 - 90.08) ms90.00 ± (89.40 - 90.59) ms+0.6%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.92 ± (10.91 - 10.92) MB10.90 ± (10.90 - 10.90) MB-0.2%
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms23.03 ± (22.96 - 23.10) ms23.00 ± (22.94 - 23.05) ms-0.2%
process.time_to_main_ms89.58 ± (89.16 - 90.00) ms89.93 ± (89.53 - 90.33) ms+0.4%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.95 ± (10.95 - 10.96) MB10.95 ± (10.95 - 10.96) MB+0.0%✅⬆️
runtime.dotnet.threads.count13 ± (13 - 13)13 ± (13 - 13)+0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms225.79 ± (224.71 - 226.87) ms220.94 ± (219.57 - 222.32) ms-2.1%
process.time_to_main_ms509.20 ± (507.86 - 510.54) ms502.63 ± (501.39 - 503.87) ms-1.3%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed47.87 ± (47.85 - 47.90) MB47.92 ± (47.90 - 47.94) MB+0.1%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)-0.0%
.NET 6 - Baseline
process.internal_duration_ms21.99 ± (21.91 - 22.08) ms21.90 ± (21.82 - 21.98) ms-0.4%
process.time_to_main_ms77.25 ± (76.86 - 77.64) ms77.34 ± (76.89 - 77.79) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.61 ± (10.60 - 10.61) MB10.62 ± (10.62 - 10.62) MB+0.1%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms22.13 ± (22.06 - 22.20) ms21.78 ± (21.72 - 21.84) ms-1.6%
process.time_to_main_ms79.32 ± (78.97 - 79.67) ms77.91 ± (77.56 - 78.26) ms-1.8%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.67 ± (10.67 - 10.67) MB10.66 ± (10.66 - 10.67) MB-0.1%
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms215.10 ± (213.98 - 216.22) ms224.47 ± (222.61 - 226.33) ms+4.4%✅⬆️
process.time_to_main_ms475.16 ± (473.97 - 476.35) ms490.45 ± (487.62 - 493.28) ms+3.2%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed48.19 ± (48.17 - 48.22) MB48.02 ± (47.99 - 48.04) MB-0.4%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.0%
.NET 8 - Baseline
process.internal_duration_ms20.10 ± (20.02 - 20.19) ms23.19 ± (22.74 - 23.63) ms+15.3%✅⬆️
process.time_to_main_ms76.50 ± (76.06 - 76.95) ms89.73 ± (88.03 - 91.44) ms+17.3%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.66 ± (7.65 - 7.67) MB7.68 ± (7.68 - 7.69) MB+0.3%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms20.08 ± (20.00 - 20.15) ms20.56 ± (20.49 - 20.62) ms+2.4%✅⬆️
process.time_to_main_ms77.73 ± (77.34 - 78.11) ms78.94 ± (78.60 - 79.28) ms+1.6%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.72 ± (7.71 - 7.73) MB7.73 ± (7.72 - 7.74) MB+0.2%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms195.37 ± (194.23 - 196.52) ms194.77 ± (193.68 - 195.86) ms-0.3%
process.time_to_main_ms461.92 ± (460.72 - 463.13) ms461.46 ± (460.09 - 462.82) ms-0.1%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed36.39 ± (36.35 - 36.44) MB36.43 ± (36.39 - 36.47) MB+0.1%✅⬆️
runtime.dotnet.threads.count27 ± (27 - 27)27 ± (27 - 27)+0.1%✅⬆️

HttpMessageHandler

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration193.65 ± (193.56 - 194.37) ms193.52 ± (193.32 - 194.00) ms-0.1%
.NET Framework 4.8 - Bailout
duration197.03 ± (196.93 - 197.58) ms196.69 ± (196.55 - 197.18) ms-0.2%
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1118.10 ± (1121.97 - 1131.69) ms1110.11 ± (1114.95 - 1124.06) ms-0.7%
.NET Core 3.1 - Baseline
process.internal_duration_ms188.80 ± (188.42 - 189.17) ms188.63 ± (188.28 - 188.98) ms-0.1%
process.time_to_main_ms81.15 ± (80.95 - 81.35) ms81.06 ± (80.84 - 81.28) ms-0.1%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.12 ± (16.10 - 16.15) MB16.09 ± (16.07 - 16.11) MB-0.2%
runtime.dotnet.threads.count20 ± (20 - 20)20 ± (20 - 20)-0.2%
.NET Core 3.1 - Bailout
process.internal_duration_ms188.19 ± (187.83 - 188.56) ms188.51 ± (188.17 - 188.85) ms+0.2%✅⬆️
process.time_to_main_ms82.35 ± (82.19 - 82.50) ms82.07 ± (81.94 - 82.21) ms-0.3%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.15 ± (16.12 - 16.18) MB16.17 ± (16.14 - 16.21) MB+0.1%✅⬆️
runtime.dotnet.threads.count21 ± (21 - 21)21 ± (20 - 21)-0.5%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms397.38 ± (395.03 - 399.74) ms397.48 ± (395.21 - 399.75) ms+0.0%✅⬆️
process.time_to_main_ms474.95 ± (474.37 - 475.53) ms476.06 ± (475.43 - 476.69) ms+0.2%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed58.65 ± (58.51 - 58.79) MB58.78 ± (58.66 - 58.91) MB+0.2%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 30)+0.0%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms192.94 ± (192.55 - 193.33) ms193.61 ± (193.18 - 194.04) ms+0.3%✅⬆️
process.time_to_main_ms70.46 ± (70.30 - 70.61) ms70.31 ± (70.12 - 70.51) ms-0.2%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.34 ± (16.26 - 16.42) MB16.37 ± (16.34 - 16.41) MB+0.2%✅⬆️
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)+0.3%✅⬆️
.NET 6 - Bailout
process.internal_duration_ms192.30 ± (191.95 - 192.66) ms190.99 ± (190.68 - 191.30) ms-0.7%
process.time_to_main_ms71.47 ± (71.36 - 71.58) ms71.03 ± (70.95 - 71.11) ms-0.6%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.33 ± (16.22 - 16.44) MB16.18 ± (16.03 - 16.32) MB-1.0%
runtime.dotnet.threads.count20 ± (20 - 20)19 ± (19 - 19)-3.3%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms409.46 ± (407.51 - 411.40) ms406.42 ± (404.56 - 408.27) ms-0.7%
process.time_to_main_ms443.49 ± (442.93 - 444.04) ms443.51 ± (442.85 - 444.17) ms+0.0%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed59.29 ± (59.19 - 59.40) MB58.85 ± (58.70 - 59.01) MB-0.7%
runtime.dotnet.threads.count30 ± (29 - 30)30 ± (30 - 30)+0.1%✅⬆️
.NET 8 - Baseline
process.internal_duration_ms191.60 ± (191.22 - 191.98) ms190.63 ± (190.25 - 191.01) ms-0.5%
process.time_to_main_ms70.28 ± (70.05 - 70.51) ms69.61 ± (69.41 - 69.80) ms-1.0%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.74 ± (11.71 - 11.76) MB11.72 ± (11.69 - 11.74) MB-0.2%
runtime.dotnet.threads.count18 ± (18 - 18)18 ± (18 - 18)+0.3%✅⬆️
.NET 8 - Bailout
process.internal_duration_ms191.71 ± (191.36 - 192.07) ms190.51 ± (190.14 - 190.89) ms-0.6%
process.time_to_main_ms71.11 ± (70.97 - 71.24) ms70.75 ± (70.63 - 70.87) ms-0.5%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.83 ± (11.80 - 11.85) MB11.80 ± (11.77 - 11.84) MB-0.2%
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)+0.2%✅⬆️
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms367.53 ± (366.21 - 368.84) ms366.95 ± (365.64 - 368.27) ms-0.2%
process.time_to_main_ms431.15 ± (430.56 - 431.74) ms430.49 ± (429.70 - 431.28) ms-0.2%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed47.91 ± (47.88 - 47.93) MB47.83 ± (47.80 - 47.86) MB-0.2%
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)+0.0%✅⬆️
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 (7850) - mean (77ms)  : 71, 83
    master - mean (76ms)  : 70, 83

    section Bailout
    This PR (7850) - mean (80ms)  : 75, 85
    master - mean (82ms)  : 74, 89

    section CallTarget+Inlining+NGEN
    This PR (7850) - mean (1,076ms)  : 995, 1157
    master - mean (1,079ms)  : 1008, 1150

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 (7850) - mean (121ms)  : 111, 132
    master - mean (120ms)  : 112, 129

    section Bailout
    This PR (7850) - mean (121ms)  : 113, 129
    master - mean (120ms)  : 113, 128

    section CallTarget+Inlining+NGEN
    This PR (7850) - mean (763ms)  : 730, 797
    master - mean (774ms)  : 735, 814

Loading
FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7850) - mean (106ms)  : 97, 116
    master - mean (106ms)  : 99, 113

    section Bailout
    This PR (7850) - mean (107ms)  : 99, 115
    master - mean (109ms)  : 101, 117

    section CallTarget+Inlining+NGEN
    This PR (7850) - mean (747ms)  : 666, 828
    master - mean (722ms)  : 689, 755

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7850) - mean (122ms)  : 89, 155
    master - mean (105ms)  : 96, 115

    section Bailout
    This PR (7850) - mean (109ms)  : 103, 115
    master - mean (106ms)  : 98, 114

    section CallTarget+Inlining+NGEN
    This PR (7850) - mean (697ms)  : 655, 738
    master - mean (697ms)  : 664, 731

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 (7850) - mean (194ms)  : 191, 197
    master - mean (194ms)  : 190, 198

    section Bailout
    This PR (7850) - mean (197ms)  : 194, 200
    master - mean (197ms)  : 194, 200

    section CallTarget+Inlining+NGEN
    This PR (7850) - mean (1,120ms)  : 1053, 1186
    master - mean (1,127ms)  : 1053, 1201

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 (7850) - mean (278ms)  : 273, 283
    master - mean (279ms)  : 273, 284

    section Bailout
    This PR (7850) - mean (279ms)  : 275, 283
    master - mean (279ms)  : 273, 284

    section CallTarget+Inlining+NGEN
    This PR (7850) - mean (914ms)  : 873, 954
    master - mean (912ms)  : 880, 945

Loading
HttpMessageHandler (.NET 6)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7850) - mean (273ms)  : 264, 281
    master - mean (272ms)  : 267, 276

    section Bailout
    This PR (7850) - mean (270ms)  : 266, 274
    master - mean (272ms)  : 268, 276

    section CallTarget+Inlining+NGEN
    This PR (7850) - mean (883ms)  : 844, 922
    master - mean (889ms)  : 851, 926

Loading
HttpMessageHandler (.NET 8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7850) - mean (270ms)  : 265, 274
    master - mean (272ms)  : 265, 278

    section Bailout
    This PR (7850) - mean (270ms)  : 266, 275
    master - mean (272ms)  : 267, 278

    section CallTarget+Inlining+NGEN
    This PR (7850) - mean (829ms)  : 813, 844
    master - mean (829ms)  : 807, 852

Loading

@pr-commenter
Copy link

pr-commenter bot commented Nov 20, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7850 compared to master:

  • All benchmarks have the same speed
  • 2 benchmarks have fewer allocations
  • 1 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 ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.9μs 59.9ns 359ns 0 0 0 5.51 KB
master StartStopWithChild netcoreapp3.1 13.3μs 71.7ns 380ns 0 0 0 5.71 KB
master StartStopWithChild net472 22.3μs 109ns 464ns 1.01 0.447 0.112 5.94 KB
#7850 StartStopWithChild net6.0 11.3μs 45.3ns 176ns 0 0 0 5.5 KB
#7850 StartStopWithChild netcoreapp3.1 13.8μs 71.7ns 358ns 0 0 0 5.7 KB
#7850 StartStopWithChild net472 22μs 105ns 432ns 0.871 0.218 0 5.93 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 1.27ms 312ns 1.17μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.39ms 301ns 1.13μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.72ms 1.59μs 6.17μs 0 0 0 3.26 KB
#7850 WriteAndFlushEnrichedTraces net6.0 1.25ms 161ns 582ns 0 0 0 2.7 KB
#7850 WriteAndFlushEnrichedTraces netcoreapp3.1 1.38ms 65.4ns 245ns 0 0 0 2.7 KB
#7850 WriteAndFlushEnrichedTraces net472 1.74ms 3.99μs 15.5μs 0 0 0 3.26 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 1.11μs 5.33ns 23.2ns 0 0 0 1.22 KB
master AllCycleSimpleBody netcoreapp3.1 1.35μs 7.73ns 59.9ns 0 0 0 1.2 KB
master AllCycleSimpleBody net472 1.01μs 0.449ns 1.74ns 0.192 0 0 1.23 KB
master AllCycleMoreComplexBody net6.0 7.19μs 39.7ns 238ns 0 0 0 4.72 KB
master AllCycleMoreComplexBody netcoreapp3.1 9.09μs 32.9ns 123ns 0 0 0 4.62 KB
master AllCycleMoreComplexBody net472 7.52μs 1.58ns 6.11ns 0.751 0 0 4.74 KB
master ObjectExtractorSimpleBody net6.0 328ns 0.32ns 1.24ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 400ns 0.0595ns 0.23ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 294ns 0.0235ns 0.0878ns 0.0446 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.45μs 28.3ns 109ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.96μs 39.7ns 173ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.69μs 0.968ns 3.75ns 0.602 0 0 3.8 KB
#7850 AllCycleSimpleBody net6.0 1.1μs 6.29ns 48.3ns 0 0 0 1.22 KB
#7850 AllCycleSimpleBody netcoreapp3.1 1.39μs 7.82ns 55.3ns 0 0 0 1.2 KB
#7850 AllCycleSimpleBody net472 1.02μs 0.326ns 1.26ns 0.193 0 0 1.23 KB
#7850 AllCycleMoreComplexBody net6.0 7.32μs 36.3ns 162ns 0 0 0 4.72 KB
#7850 AllCycleMoreComplexBody netcoreapp3.1 8.91μs 46ns 225ns 0 0 0 4.62 KB
#7850 AllCycleMoreComplexBody net472 7.76μs 6.89ns 26.7ns 0.734 0 0 4.74 KB
#7850 ObjectExtractorSimpleBody net6.0 327ns 1.64ns 7.52ns 0 0 0 280 B
#7850 ObjectExtractorSimpleBody netcoreapp3.1 397ns 1.93ns 7.7ns 0 0 0 272 B
#7850 ObjectExtractorSimpleBody net472 295ns 0.00886ns 0.0307ns 0.0446 0 0 281 B
#7850 ObjectExtractorMoreComplexBody net6.0 6.27μs 27.2ns 105ns 0 0 0 3.78 KB
#7850 ObjectExtractorMoreComplexBody netcoreapp3.1 7.85μs 34.9ns 135ns 0 0 0 3.69 KB
#7850 ObjectExtractorMoreComplexBody net472 6.78μs 9.17ns 35.5ns 0.578 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 77.3μs 363ns 1.41μs 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 98.8μs 32.3ns 125ns 0 0 0 32.4 KB
master EncodeArgs net472 109μs 16.2ns 62.8ns 4.9 0 0 32.5 KB
master EncodeLegacyArgs net6.0 143μs 20ns 77.4ns 0 0 0 2.14 KB
master EncodeLegacyArgs netcoreapp3.1 199μs 138ns 536ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 262μs 40.5ns 146ns 0 0 0 2.14 KB
#7850 EncodeArgs net6.0 77.1μs 261ns 1.01μs 0 0 0 32.4 KB
#7850 EncodeArgs netcoreapp3.1 98.9μs 43.2ns 162ns 0 0 0 32.4 KB
#7850 EncodeArgs net472 108μs 14.5ns 56.2ns 4.87 0 0 32.5 KB
#7850 EncodeLegacyArgs net6.0 146μs 18.1ns 70.3ns 0 0 0 2.14 KB
#7850 EncodeLegacyArgs netcoreapp3.1 198μs 145ns 561ns 0 0 0 2.14 KB
#7850 EncodeLegacyArgs net472 263μs 42.5ns 164ns 0 0 0 2.14 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 429μs 678ns 2.35μs 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 454μs 1.93μs 6.95μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 496μs 281ns 973ns 0 0 0 0 b
master RunWafRealisticBenchmarkWithAttack net6.0 310μs 1.03μs 3.55μs 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 357μs 3.28μs 31.7μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 374μs 546ns 2.04μs 0 0 0 0 b
#7850 RunWafRealisticBenchmark net6.0 428μs 1.69μs 6.54μs 0 0 0 4.55 KB
#7850 RunWafRealisticBenchmark netcoreapp3.1 469μs 3.34μs 31.7μs 0 0 0 4.48 KB
#7850 RunWafRealisticBenchmark net472 494μs 746ns 2.89μs 0 0 0 0 b
#7850 RunWafRealisticBenchmarkWithAttack net6.0 320μs 1.75μs 9.56μs 0 0 0 2.24 KB
#7850 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 337μs 1.51μs 5.24μs 0 0 0 2.22 KB
#7850 RunWafRealisticBenchmarkWithAttack net472 367μs 148ns 533ns 0 0 0 0 b
Benchmarks.Trace.AspNetCoreBenchmark - Unknown 🤷 More allocations ⚠️

More allocations ⚠️ in #7850

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 21.18 KB 21.34 KB 152 B 0.72%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 85.1μs 341ns 1.67μs 0 0 0 18.97 KB
master SendRequest netcoreapp3.1 96.5μs 313ns 1.95μs 0 0 0 21.18 KB
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#7850 SendRequest net6.0 84.4μs 98.7ns 369ns 0 0 0 18.97 KB
#7850 SendRequest netcoreapp3.1 97.2μs 356ns 2.16μs 0 0 0 21.34 KB
#7850 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.91ms 1.01μs 3.64μs 0 0 0 640 KB
master OriginalCharSlice netcoreapp3.1 4.06ms 9.74μs 36.5μs 0 0 0 640.05 KB
master OriginalCharSlice net472 2.56ms 531ns 2.06μs 0 0 0 638.98 KB
master OptimizedCharSlice net6.0 1.5ms 987ns 3.82μs 0 0 0 0 b
master OptimizedCharSlice netcoreapp3.1 2.73ms 911ns 3.53μs 0 0 0 0 b
master OptimizedCharSlice net472 1.97ms 502ns 1.95μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 1.03ms 216ns 780ns 0 0 0 0 b
master OptimizedCharSliceWithPool netcoreapp3.1 1.88ms 1.45μs 5.61μs 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.13ms 373ns 1.4μs 0 0 0 0 b
#7850 OriginalCharSlice net6.0 2.04ms 1.23μs 4.42μs 0 0 0 640 KB
#7850 OriginalCharSlice netcoreapp3.1 3.94ms 1.58μs 6.12μs 0 0 0 640.05 KB
#7850 OriginalCharSlice net472 2.62ms 991ns 3.84μs 0 0 0 638.98 KB
#7850 OptimizedCharSlice net6.0 1.46ms 1.01μs 3.9μs 0 0 0 0 b
#7850 OptimizedCharSlice netcoreapp3.1 2.74ms 893ns 3.22μs 0 0 0 0 b
#7850 OptimizedCharSlice net472 1.92ms 697ns 2.7μs 0 0 0 0 b
#7850 OptimizedCharSliceWithPool net6.0 1.02ms 470ns 1.82μs 0 0 0 0 b
#7850 OptimizedCharSliceWithPool netcoreapp3.1 1.89ms 1.46μs 5.45μs 0 0 0 0 b
#7850 OptimizedCharSliceWithPool net472 1.16ms 520ns 2.01μs 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7850

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 42.13 KB 41.66 KB -476 B -1.13%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 749μs 2.98μs 11.2μs 0 0 0 42.13 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 764μs 2.46μs 9.22μs 0 0 0 41.85 KB
master WriteAndFlushEnrichedTraces net472 902μs 2.22μs 8.3μs 8.33 4.17 0 56.05 KB
#7850 WriteAndFlushEnrichedTraces net6.0 680μs 1.13μs 4.39μs 0 0 0 41.66 KB
#7850 WriteAndFlushEnrichedTraces netcoreapp3.1 762μs 3.25μs 12.6μs 0 0 0 42.04 KB
#7850 WriteAndFlushEnrichedTraces net472 967μs 4.3μs 16.7μs 4.81 0 0 55.78 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.92μs 7.22ns 27ns 0 0 0 968 B
master ExecuteNonQuery netcoreapp3.1 2.48μs 4.73ns 17.7ns 0 0 0 960 B
master ExecuteNonQuery net472 2.75μs 4.1ns 15.9ns 0.137 0 0 931 B
#7850 ExecuteNonQuery net6.0 1.97μs 4.06ns 15.7ns 0 0 0 968 B
#7850 ExecuteNonQuery netcoreapp3.1 2.58μs 6.29ns 24.3ns 0 0 0 960 B
#7850 ExecuteNonQuery net472 2.78μs 1.31ns 4.9ns 0.139 0 0 931 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.62μs 7.88ns 35.2ns 0 0 0 952 B
master CallElasticsearch netcoreapp3.1 2.42μs 5.64ns 21.1ns 0 0 0 968 B
master CallElasticsearch net472 3.29μs 3.98ns 15.4ns 0.147 0 0 955 B
master CallElasticsearchAsync net6.0 1.78μs 8.08ns 32.3ns 0 0 0 928 B
master CallElasticsearchAsync netcoreapp3.1 2.43μs 1.55ns 5.79ns 0 0 0 1.02 KB
master CallElasticsearchAsync net472 3.52μs 2.8ns 10.5ns 0.158 0 0 1.01 KB
#7850 CallElasticsearch net6.0 1.75μs 7.36ns 28.5ns 0 0 0 952 B
#7850 CallElasticsearch netcoreapp3.1 2.24μs 6.91ns 26.8ns 0 0 0 968 B
#7850 CallElasticsearch net472 3.26μs 5.21ns 20.2ns 0.146 0 0 955 B
#7850 CallElasticsearchAsync net6.0 1.71μs 6.65ns 24.9ns 0 0 0 928 B
#7850 CallElasticsearchAsync netcoreapp3.1 2.44μs 12.7ns 60.8ns 0 0 0 1.02 KB
#7850 CallElasticsearchAsync net472 3.43μs 3.95ns 15.3ns 0.155 0 0 1.01 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.81μs 7.33ns 25.4ns 0 0 0 896 B
master ExecuteAsync netcoreapp3.1 2.46μs 7.27ns 28.2ns 0 0 0 896 B
master ExecuteAsync net472 2.58μs 2.92ns 11.3ns 0.13 0 0 859 B
#7850 ExecuteAsync net6.0 1.87μs 5.61ns 21.7ns 0 0 0 896 B
#7850 ExecuteAsync netcoreapp3.1 2.32μs 8.97ns 34.7ns 0 0 0 896 B
#7850 ExecuteAsync net472 2.57μs 4.67ns 18.1ns 0.128 0 0 859 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.89μs 13.9ns 51.9ns 0 0 0 2.29 KB
master SendAsync netcoreapp3.1 8.5μs 31.8ns 123ns 0 0 0 2.83 KB
master SendAsync net472 12.2μs 5.47ns 21.2ns 0.485 0 0 3.08 KB
#7850 SendAsync net6.0 7μs 11.9ns 46ns 0 0 0 2.29 KB
#7850 SendAsync netcoreapp3.1 8.2μs 27.6ns 107ns 0 0 0 2.83 KB
#7850 SendAsync net472 12μs 6.76ns 26.2ns 0.481 0 0 3.08 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7850

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 271.17 KB 259.09 KB -12.08 KB -4.45%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 46.1μs 270ns 2.29μs 0 0 0 42.51 KB
master StringConcatBenchmark netcoreapp3.1 48.9μs 257ns 1.64μs 0 0 0 42.54 KB
master StringConcatBenchmark net472 56.8μs 208ns 720ns 0 0 0 49.15 KB
master StringConcatAspectBenchmark net6.0 451μs 967ns 5.12μs 0 0 0 271.17 KB
master StringConcatAspectBenchmark netcoreapp3.1 480μs 6.03μs 59.7μs 0 0 0 276.35 KB
master StringConcatAspectBenchmark net472 403μs 1.94μs 7.99μs 0 0 0 270.34 KB
#7850 StringConcatBenchmark net6.0 46.7μs 250ns 1.27μs 0 0 0 42.51 KB
#7850 StringConcatBenchmark netcoreapp3.1 50.5μs 261ns 1.31μs 0 0 0 42.54 KB
#7850 StringConcatBenchmark net472 57.3μs 133ns 479ns 0 0 0 49.15 KB
#7850 StringConcatAspectBenchmark net6.0 466μs 2.37μs 10.8μs 0 0 0 259.09 KB
#7850 StringConcatAspectBenchmark netcoreapp3.1 532μs 828ns 4.38μs 0 0 0 275.82 KB
#7850 StringConcatAspectBenchmark net472 405μs 2.18μs 11.9μs 0 0 0 270.34 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.75μs 0.827ns 3.2ns 0 0 0 1.69 KB
master EnrichedLog netcoreapp3.1 3.57μs 12.9ns 50.1ns 0 0 0 1.7 KB
master EnrichedLog net472 3.83μs 7.28ns 28.2ns 0.247 0 0 1.6 KB
#7850 EnrichedLog net6.0 2.73μs 9.84ns 38.1ns 0 0 0 1.69 KB
#7850 EnrichedLog netcoreapp3.1 3.49μs 17.6ns 78.5ns 0 0 0 1.7 KB
#7850 EnrichedLog net472 3.8μs 4.92ns 19.1ns 0.245 0 0 1.6 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 123μs 60.9ns 220ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 129μs 97.5ns 378ns 0 0 0 4.31 KB
master EnrichedLog net472 166μs 31.2ns 117ns 0 0 0 4.51 KB
#7850 EnrichedLog net6.0 123μs 99.2ns 371ns 0 0 0 4.31 KB
#7850 EnrichedLog netcoreapp3.1 128μs 153ns 574ns 0 0 0 4.31 KB
#7850 EnrichedLog net472 167μs 94.1ns 364ns 0 0 0 4.51 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 4.98μs 22.2ns 86ns 0 0 0 2.24 KB
master EnrichedLog netcoreapp3.1 6.86μs 30.8ns 119ns 0 0 0 2.26 KB
master EnrichedLog net472 7.69μs 8.09ns 31.3ns 0.306 0 0 2.05 KB
#7850 EnrichedLog net6.0 5.25μs 15.9ns 61.5ns 0 0 0 2.24 KB
#7850 EnrichedLog netcoreapp3.1 6.88μs 23.9ns 89.3ns 0 0 0 2.26 KB
#7850 EnrichedLog net472 7.72μs 8.81ns 34.1ns 0.308 0 0 2.05 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 1.88μs 4.24ns 16.4ns 0 0 0 1.12 KB
master SendReceive netcoreapp3.1 2.47μs 11.9ns 50.4ns 0 0 0 1.14 KB
master SendReceive net472 2.95μs 2.86ns 11.1ns 0.176 0 0 1.12 KB
#7850 SendReceive net6.0 2μs 1.51ns 5.85ns 0 0 0 1.12 KB
#7850 SendReceive netcoreapp3.1 2.57μs 10.5ns 40.8ns 0 0 0 1.14 KB
#7850 SendReceive net472 2.86μs 2.54ns 9.84ns 0.172 0 0 1.12 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.47μs 3.43ns 12.8ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.8μs 19.6ns 76.1ns 0 0 0 1.63 KB
master EnrichedLog net472 6.51μs 7.19ns 27.8ns 0.292 0 0 2.03 KB
#7850 EnrichedLog net6.0 4.45μs 4.66ns 18.1ns 0 0 0 1.58 KB
#7850 EnrichedLog netcoreapp3.1 5.8μs 16.8ns 65.1ns 0 0 0 1.63 KB
#7850 EnrichedLog net472 6.54μs 5.37ns 20.8ns 0.293 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 758ns 4.1ns 22.4ns 0 0 0 520 B
master StartFinishSpan netcoreapp3.1 949ns 4.93ns 24.2ns 0 0 0 520 B
master StartFinishSpan net472 890ns 0.545ns 2.11ns 0.0801 0 0 522 B
master StartFinishScope net6.0 896ns 4.16ns 16.7ns 0 0 0 640 B
master StartFinishScope netcoreapp3.1 1.15μs 5.09ns 19.7ns 0 0 0 640 B
master StartFinishScope net472 1.07μs 0.569ns 2.05ns 0.0927 0 0 602 B
master StartFinishTwoScopes net6.0 1.8μs 9.03ns 36.1ns 0 0 0 1.19 KB
master StartFinishTwoScopes netcoreapp3.1 2.23μs 9.86ns 38.2ns 0 0 0 1.19 KB
master StartFinishTwoScopes net472 2.14μs 2.16ns 8.35ns 0.171 0 0 1.08 KB
#7850 StartFinishSpan net6.0 791ns 2.02ns 7.81ns 0 0 0 520 B
#7850 StartFinishSpan netcoreapp3.1 951ns 4.52ns 19.2ns 0 0 0 520 B
#7850 StartFinishSpan net472 889ns 0.0557ns 0.208ns 0.0802 0 0 522 B
#7850 StartFinishScope net6.0 969ns 1.8ns 6.96ns 0 0 0 640 B
#7850 StartFinishScope netcoreapp3.1 1.15μs 5.92ns 28.4ns 0 0 0 640 B
#7850 StartFinishScope net472 1.08μs 0.305ns 1.14ns 0.0916 0 0 602 B
#7850 StartFinishTwoScopes net6.0 1.79μs 9.85ns 57.4ns 0 0 0 1.19 KB
#7850 StartFinishTwoScopes netcoreapp3.1 2.2μs 10.4ns 42.9ns 0 0 0 1.19 KB
#7850 StartFinishTwoScopes net472 2.14μs 0.524ns 2.03ns 0.16 0 0 1.08 KB
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.06μs 5.45ns 21.1ns 0 0 0 640 B
master RunOnMethodBegin netcoreapp3.1 1.38μs 4.57ns 17.7ns 0 0 0 640 B
master RunOnMethodBegin net472 1.43μs 0.475ns 1.71ns 0.093 0 0 602 B
#7850 RunOnMethodBegin net6.0 1.06μs 0.749ns 2.9ns 0 0 0 640 B
#7850 RunOnMethodBegin netcoreapp3.1 1.39μs 6.83ns 29.8ns 0 0 0 640 B
#7850 RunOnMethodBegin net472 1.45μs 2.42ns 9.39ns 0.0953 0 0 602 B

@github-actions
Copy link
Contributor

github-actions bot commented Nov 21, 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.

7 occurrences of :

+      peer.service: MyTableName,
[...]
+      _dd.peer.service.source: tablename

1 occurrences of :

+      peer.service: MyEventBus,
[...]
+      _dd.peer.service.source: rulename

2 occurrences of :

+      peer.service: MyStreamName,
[...]
+      _dd.peer.service.source: streamname

14 occurrences of :

+      peer.service: my-bucket,
[...]
+      _dd.peer.service.source: bucketname

1 occurrences of :

+      _dd.peer.service.source: bucketname

4 occurrences of :

+      peer.service: MyTopic,
[...]
+      _dd.peer.service.source: topicname

16 occurrences of :

+      peer.service: MyAsyncSQSQueue,
[...]
+      _dd.peer.service.source: queuename

16 occurrences of :

+      peer.service: MyAsyncSQSQueue2,
[...]
+      _dd.peer.service.source: queuename

2 occurrences of :

+      peer.service: StepFunction,
[...]
+      _dd.peer.service.source: statemachinename

@rithikanarayan rithikanarayan marked this pull request as ready for review November 24, 2025 18:45
@rithikanarayan rithikanarayan requested review from a team as code owners November 24, 2025 18:45
Copy link
Contributor

@zarirhamza zarirhamza left a comment

Choose a reason for hiding this comment

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

LGTM

@lucaspimentel
Copy link
Member

@codex review

Copy link

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

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.

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Member

@lucaspimentel lucaspimentel left a comment

Choose a reason for hiding this comment

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

Thanks. Just two non-blocking comments.

@rithikanarayan rithikanarayan merged commit 6347a3f into master Dec 5, 2025
151 checks passed
@rithikanarayan rithikanarayan deleted the rithika.narayan/APMSVLS-64-ssr-dotnet branch December 5, 2025 14:41
@github-actions github-actions bot added this to the vNext-v3 milestone Dec 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants