Skip to content

Commit a197116

Browse files
authored
[geneva] Updates for 1.10.0-rc.1 (open-telemetry#2294)
1 parent d7a8fc2 commit a197116

File tree

6 files changed

+22
-33
lines changed

6 files changed

+22
-33
lines changed

src/OpenTelemetry.Exporter.Geneva/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
For configuration details see:
2020
[OtlpProtobufEncoding](./README.md#otlpprotobufencoding).
2121

22+
* Update OpenTelemetry SDK version to `1.10.0-rc.1`.
23+
([#2294](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2294))
24+
2225
## 1.9.0
2326

2427
Released 2024-Jun-21

src/OpenTelemetry.Exporter.Geneva/Common.GenevaExporter.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project>
22
<PropertyGroup>
3-
<OTelSdkVersion>$(OpenTelemetryCoreLatestVersion)</OTelSdkVersion>
3+
<OTelSdkVersion>$(OpenTelemetryCoreLatestPrereleaseVersion)</OTelSdkVersion>
44
</PropertyGroup>
55

66
<PropertyGroup Condition="$(OTelSdkVersion.Contains('alpha')) OR $(OTelSdkVersion.Contains('beta')) OR $(OTelSdkVersion.Contains('rc'))">
Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,18 @@
11
// Copyright The OpenTelemetry Authors
22
// SPDX-License-Identifier: Apache-2.0
33

4-
using System.Linq.Expressions;
5-
using System.Reflection;
6-
74
namespace OpenTelemetry.Exporter.Geneva;
85

9-
// This export processor exports without synchronization.
10-
// Once OpenTelemetry .NET officially support this,
11-
// we can get rid of this class.
12-
// This is currently only used in ETW export, where we know
13-
// that the underlying system is safe under concurrent calls.
146
internal class ReentrantExportProcessor<T> : BaseExportProcessor<T>
157
where T : class
168
{
17-
private static readonly Func<T, Batch<T>> CreateBatch = BuildCreateBatchDelegate();
18-
199
public ReentrantExportProcessor(BaseExporter<T> exporter)
2010
: base(exporter)
2111
{
2212
}
2313

2414
protected override void OnExport(T data)
2515
{
26-
this.exporter.Export(CreateBatch(data));
27-
}
28-
29-
private static Func<T, Batch<T>> BuildCreateBatchDelegate()
30-
{
31-
var flags = BindingFlags.Instance | BindingFlags.NonPublic;
32-
var ctor = typeof(Batch<T>).GetConstructor(flags, null, new Type[] { typeof(T) }, null)
33-
?? throw new InvalidOperationException("Batch ctor accepting a single item could not be found reflectively");
34-
var value = Expression.Parameter(typeof(T), null);
35-
var lambda = Expression.Lambda<Func<T, Batch<T>>>(Expression.New(ctor, value), value);
36-
return lambda.Compile();
16+
this.exporter.Export(new(data));
3717
}
3818
}

test/OpenTelemetry.Exporter.Geneva.Benchmarks/Exporter/TLDTraceExporterBenchmarks.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public TLDTraceExporterBenchmarks()
5555
this.activity = testActivity!;
5656
this.activity.SetTag("tagString", "value");
5757
this.activity.SetTag("tagInt", 100);
58-
this.activity.SetStatus(Status.Error);
58+
this.activity.SetStatus(ActivityStatusCode.Error);
5959
}
6060

6161
this.msgPackExporter = new MsgPackTraceExporter(new GenevaExporterOptions
@@ -128,7 +128,7 @@ private Batch<Activity> CreateBatch()
128128
{
129129
activity.SetTag("tagString", "value");
130130
activity.SetTag("tagInt", 100);
131-
activity.SetStatus(Status.Error);
131+
activity.SetStatus(ActivityStatusCode.Error);
132132
}
133133

134134
return batchGeneratorExporter.Batch;

test/OpenTelemetry.Exporter.Geneva.Benchmarks/Exporter/TraceExporterBenchmarks.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public TraceExporterBenchmarks()
5454
this.activity = testActivity!;
5555
this.activity.SetTag("tagString", "value");
5656
this.activity.SetTag("tagInt", 100);
57-
this.activity.SetStatus(Status.Error);
57+
this.activity.SetStatus(ActivityStatusCode.Error);
5858
}
5959

6060
activityListener.Dispose();
@@ -129,7 +129,7 @@ private Batch<Activity> CreateBatch()
129129
{
130130
activity.SetTag("tagString", "value");
131131
activity.SetTag("tagInt", 100);
132-
activity.SetStatus(Status.Error);
132+
activity.SetStatus(ActivityStatusCode.Error);
133133
}
134134

135135
return batchGeneratorExporter.Batch;

test/OpenTelemetry.Exporter.Geneva.Tests/GenevaTraceExporterTests.cs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -175,12 +175,12 @@ public void GenevaTraceExporter_Success_Windows()
175175

176176
using (var activity = source.StartActivity("Bar"))
177177
{
178-
activity.SetStatus(Status.Error);
178+
activity.SetStatus(ActivityStatusCode.Error);
179179
}
180180

181181
using (var activity = source.StartActivity("Baz"))
182182
{
183-
activity.SetStatus(Status.Ok);
183+
activity.SetStatus(ActivityStatusCode.Ok);
184184
}
185185
}
186186

@@ -298,21 +298,25 @@ public void GenevaTraceExporter_Serialization_Success(bool hasTableNameMapping,
298298
activity?.SetTag("clientRequestId", "58a37988-2c05-427a-891f-5e0e1266fcc5");
299299
activity?.SetTag("foo", 1);
300300
activity?.SetTag("bar", 2);
301+
#pragma warning disable CS0618 // Type or member is obsolete
301302
activity?.SetStatus(Status.Error.WithDescription("Error description from OTel API"));
303+
#pragma warning restore CS0618 // Type or member is obsolete
302304
}
303305
}
304306

305307
using (var activity = source.StartActivity("TestActivityForSetStatusAPI"))
306308
{
307-
activity?.SetStatus(ActivityStatusCode.Error, "Error description from .NET API");
309+
activity?.SetStatus(ActivityStatusCode.Error, description: "Error description from .NET API");
308310
}
309311

310312
// If the activity Status is set using both the OTel API and the .NET API, the `Status` and `StatusDescription` set by
311313
// the .NET API is chosen
312314
using (var activity = source.StartActivity("PreferStatusFromDotnetAPI"))
313315
{
316+
#pragma warning disable CS0618 // Type or member is obsolete
314317
activity?.SetStatus(Status.Error.WithDescription("Error description from OTel API"));
315-
activity?.SetStatus(ActivityStatusCode.Error, "Error description from .NET API");
318+
#pragma warning restore CS0618 // Type or member is obsolete
319+
activity?.SetStatus(ActivityStatusCode.Error, description: "Error description from .NET API");
316320
customChecksForActivity = mapping =>
317321
{
318322
Assert.Equal("Error description from .NET API", mapping["statusMessage"]);
@@ -680,17 +684,19 @@ private void AssertFluentdForwardModeForActivity(GenevaExporterOptions exporterO
680684
Assert.Equal((byte)activity.Kind, mapping["kind"]);
681685
Assert.Equal(activity.StartTimeUtc, mapping["startTime"]);
682686

683-
var activityStatusCode = activity.GetStatus().StatusCode;
687+
#pragma warning disable CS0618 // Type or member is obsolete
688+
var otelApiStatusCode = activity.GetStatus();
689+
#pragma warning restore CS0618 // Type or member is obsolete
684690

685691
if (activity.Status == ActivityStatusCode.Error)
686692
{
687693
Assert.False((bool)mapping["success"]);
688694
Assert.Equal(activity.StatusDescription, mapping["statusMessage"]);
689695
}
690-
else if (activityStatusCode == StatusCode.Error)
696+
else if (otelApiStatusCode.StatusCode == StatusCode.Error)
691697
{
692698
Assert.False((bool)mapping["success"]);
693-
var activityStatusDesc = activity.GetStatus().Description;
699+
var activityStatusDesc = otelApiStatusCode.Description;
694700
Assert.Equal(activityStatusDesc, mapping["statusMessage"]);
695701
}
696702
else

0 commit comments

Comments
 (0)