Skip to content

Commit 2bccad8

Browse files
authored
Tweaks to ActivityCreation benchmarks (#5173)
1 parent 1477c85 commit 2bccad8

File tree

2 files changed

+27
-26
lines changed

2 files changed

+27
-26
lines changed

test/Benchmarks/Helper/ActivityCreationScenarios.cs

+13-12
Original file line numberDiff line numberDiff line change
@@ -13,30 +13,31 @@ public static void CreateActivity(ActivitySource source)
1313
activity?.Stop();
1414
}
1515

16-
public static void CreateActivityWithKind(ActivitySource source)
17-
{
18-
using var activity = source.StartActivity("name", ActivityKind.Client);
19-
activity?.Stop();
20-
}
21-
2216
public static void CreateActivityFromParentContext(ActivitySource source, ActivityContext parentCtx)
2317
{
2418
using var activity = source.StartActivity("name", ActivityKind.Internal, parentCtx);
2519
activity?.Stop();
2620
}
2721

28-
public static void CreateActivityFromParentId(ActivitySource source, string parentId)
22+
public static void CreateActivityWithSetTags(ActivitySource source)
2923
{
30-
using var activity = source.StartActivity("name", ActivityKind.Internal, parentId);
24+
using var activity = source.StartActivity("name");
25+
activity?.SetTag("tag1", "string");
26+
activity?.SetTag("tag2", 1);
27+
activity?.SetTag("tag3", true);
28+
activity?.SetTag("tag4", "string-again");
29+
activity?.SetTag("tag5", "string-more");
3130
activity?.Stop();
3231
}
3332

34-
public static void CreateActivityWithAttributes(ActivitySource source)
33+
public static void CreateActivityWithAddTags(ActivitySource source)
3534
{
3635
using var activity = source.StartActivity("name");
37-
activity?.SetTag("tag1", "string");
38-
activity?.SetTag("tag2", 1);
39-
activity?.SetTag("tag3", true);
36+
activity?.AddTag("tag1", "string");
37+
activity?.AddTag("tag2", 1);
38+
activity?.AddTag("tag3", true);
39+
activity?.AddTag("tag4", "string-again");
40+
activity?.AddTag("tag5", "string-more");
4041
activity?.Stop();
4142
}
4243
}

test/Benchmarks/Trace/ActivityCreationBenchmarks.cs

+14-14
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,19 @@
88
using OpenTelemetry.Trace;
99

1010
/*
11-
BenchmarkDotNet v0.13.10, Windows 11 (10.0.23424.1000)
12-
Intel Core i7-9700 CPU 3.00GHz, 1 CPU, 8 logical and 8 physical cores
11+
BenchmarkDotNet v0.13.10, Windows 11 (10.0.22621.2861)
12+
11th Gen Intel Core i7-1185G7 3.00GHz, 1 CPU, 8 logical and 4 physical cores
1313
.NET SDK 8.0.100
1414
[Host] : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX2
1515
DefaultJob : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX2
1616
1717
18-
| Method | Mean | Error | StdDev | Gen0 | Allocated |
19-
|----------------------------------------------- |----------:|---------:|---------:|-------:|----------:|
20-
| CreateActivity_NoopProcessor | 307.12 ns | 5.769 ns | 6.172 ns | 0.0663 | 416 B |
21-
| CreateActivity_WithParentContext_NoopProcessor | 75.18 ns | 0.399 ns | 0.354 ns | - | - |
22-
| CreateActivity_WithParentId_NoopProcessor | 156.52 ns | 1.609 ns | 1.426 ns | 0.0229 | 144 B |
23-
| CreateActivity_WithAttributes_NoopProcessor | 372.34 ns | 6.215 ns | 4.852 ns | 0.0992 | 624 B |
24-
| CreateActivity_WithKind_NoopProcessor | 302.24 ns | 5.859 ns | 8.402 ns | 0.0663 | 416 B |
18+
| Method | Mean | Error | StdDev | Median |
19+
|----------------------------------------------- |----------:|---------:|----------:|----------:|
20+
| CreateActivity_NoopProcessor | 247.22 ns | 4.977 ns | 13.198 ns | 240.34 ns |
21+
| CreateActivity_WithParentContext_NoopProcessor | 55.17 ns | 1.131 ns | 1.111 ns | 54.98 ns |
22+
| CreateActivity_WithSetTags_NoopProcessor | 375.2 ns | 7.52 ns | 18.44 ns | 370.4 ns |
23+
| CreateActivity_WithAddTags_NoopProcessor | 340.9 ns | 6.27 ns | 12.81 ns | 336.1 ns |
2524
*/
2625

2726
namespace Benchmarks.Trace;
@@ -30,14 +29,14 @@ public class ActivityCreationBenchmarks
3029
{
3130
private readonly ActivitySource benchmarkSource = new("Benchmark");
3231
private readonly ActivityContext parentCtx = new(ActivityTraceId.CreateRandom(), ActivitySpanId.CreateRandom(), ActivityTraceFlags.None);
33-
private readonly string parentId = $"00-{ActivityTraceId.CreateRandom()}.{ActivitySpanId.CreateRandom()}.00";
3432
private TracerProvider tracerProvider;
3533

3634
[GlobalSetup]
3735
public void GlobalSetup()
3836
{
3937
this.tracerProvider = Sdk.CreateTracerProviderBuilder()
4038
.AddSource("BenchMark")
39+
.AddProcessor(new NoopActivityProcessor())
4140
.Build();
4241
}
4342

@@ -55,11 +54,12 @@ public void GlobalCleanup()
5554
public void CreateActivity_WithParentContext_NoopProcessor() => ActivityCreationScenarios.CreateActivityFromParentContext(this.benchmarkSource, this.parentCtx);
5655

5756
[Benchmark]
58-
public void CreateActivity_WithParentId_NoopProcessor() => ActivityCreationScenarios.CreateActivityFromParentId(this.benchmarkSource, this.parentId);
57+
public void CreateActivity_WithSetTags_NoopProcessor() => ActivityCreationScenarios.CreateActivityWithSetTags(this.benchmarkSource);
5958

6059
[Benchmark]
61-
public void CreateActivity_WithAttributes_NoopProcessor() => ActivityCreationScenarios.CreateActivityWithAttributes(this.benchmarkSource);
60+
public void CreateActivity_WithAddTags_NoopProcessor() => ActivityCreationScenarios.CreateActivityWithAddTags(this.benchmarkSource);
6261

63-
[Benchmark]
64-
public void CreateActivity_WithKind_NoopProcessor() => ActivityCreationScenarios.CreateActivityWithKind(this.benchmarkSource);
62+
internal class NoopActivityProcessor : BaseProcessor<Activity>
63+
{
64+
}
6565
}

0 commit comments

Comments
 (0)