Skip to content

Commit 18c2d40

Browse files
committed
Bump Google.Protobuf to 3.22.0 and remove reflection emit code in Otlp exporter.
1 parent d0829ff commit 18c2d40

File tree

5 files changed

+4
-55
lines changed

5 files changed

+4
-55
lines changed

build/Common.nonprod.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
<BenchmarkDotNetPkgVer>[0.13.3,0.14)</BenchmarkDotNetPkgVer>
3434
<CommandLineParserPkgVer>[2.9.1,3.0)</CommandLineParserPkgVer>
3535
<DotNetXUnitCliVer>[2.3.1,3.0)</DotNetXUnitCliVer>
36-
<GoogleProtobufPkgVer>[3.19.4,4.0)</GoogleProtobufPkgVer>
36+
<GoogleProtobufPkgVer>[3.22.0,4.0)</GoogleProtobufPkgVer>
3737
<GrpcAspNetCorePkgVer>[2.50.0,3.0)</GrpcAspNetCorePkgVer>
3838
<GrpcAspNetCoreServerPkgVer>[2.48.0, 3.0)</GrpcAspNetCoreServerPkgVer>
3939
<GrpcToolsPkgVer>[2.48.0,3.0)</GrpcToolsPkgVer>

build/Common.props

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
Refer to https://docs.microsoft.com/nuget/concepts/package-versioning for semver syntax.
2828
-->
2929
<MinVerPkgVer>[4.2.0,5.0)</MinVerPkgVer>
30-
<GoogleProtobufPkgVer>[3.19.4,4.0)</GoogleProtobufPkgVer>
30+
<GoogleProtobufPkgVer>[3.22.0,4.0)</GoogleProtobufPkgVer>
3131
<GrpcPkgVer>[2.44.0,3.0)</GrpcPkgVer>
3232
<GrpcNetClientPkgVer>[2.43.0,3.0)</GrpcNetClientPkgVer>
3333
<GrpcToolsPkgVer>[2.44.0,3.0)</GrpcToolsPkgVer>
@@ -49,7 +49,6 @@
4949
<StyleCopAnalyzersPkgVer>[1.2.0-beta.435,2.0)</StyleCopAnalyzersPkgVer>
5050
<SystemCollectionsImmutablePkgVer>1.4.0</SystemCollectionsImmutablePkgVer>
5151
<SystemDiagnosticSourcePkgVer>7.0.0</SystemDiagnosticSourcePkgVer>
52-
<SystemReflectionEmitLightweightPkgVer>4.7.0</SystemReflectionEmitLightweightPkgVer>
5352
<SystemTextJsonPkgVer>4.7.2</SystemTextJsonPkgVer>
5453
<SystemThreadingTasksExtensionsPkgVer>4.5.4</SystemThreadingTasksExtensionsPkgVer>
5554
</PropertyGroup>

src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/ActivityExtensions.cs

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,8 @@
1616

1717
using System.Collections.Concurrent;
1818
using System.Diagnostics;
19-
using System.Reflection;
20-
using System.Reflection.Emit;
2119
using System.Runtime.CompilerServices;
2220
using Google.Protobuf;
23-
using Google.Protobuf.Collections;
2421
using OpenTelemetry.Internal;
2522
using OpenTelemetry.Proto.Collector.Trace.V1;
2623
using OpenTelemetry.Proto.Common.V1;
@@ -34,7 +31,6 @@ namespace OpenTelemetry.Exporter.OpenTelemetryProtocol.Implementation
3431
internal static class ActivityExtensions
3532
{
3633
private static readonly ConcurrentBag<ScopeSpans> SpanListPool = new();
37-
private static readonly Action<RepeatedField<Span>, int> RepeatedFieldOfSpanSetCountAction = CreateRepeatedFieldOfSpanSetCountAction();
3834

3935
internal static void AddBatch(
4036
this ExportTraceServiceRequest request,
@@ -84,7 +80,7 @@ internal static void Return(this ExportTraceServiceRequest request)
8480

8581
foreach (var scope in resourceSpans.ScopeSpans)
8682
{
87-
RepeatedFieldOfSpanSetCountAction(scope.Spans, 0);
83+
scope.Spans.Clear();
8884
SpanListPool.Add(scope);
8985
}
9086
}
@@ -297,27 +293,6 @@ private static Span.Types.Event ToOtlpEvent(in ActivityEvent activityEvent, SdkL
297293
return otlpEvent;
298294
}
299295

300-
private static Action<RepeatedField<Span>, int> CreateRepeatedFieldOfSpanSetCountAction()
301-
{
302-
FieldInfo repeatedFieldOfSpanCountField = typeof(RepeatedField<Span>).GetField("count", BindingFlags.NonPublic | BindingFlags.Instance);
303-
304-
DynamicMethod dynamicMethod = new DynamicMethod(
305-
"CreateSetCountAction",
306-
null,
307-
new[] { typeof(RepeatedField<Span>), typeof(int) },
308-
typeof(ActivityExtensions).Module,
309-
skipVisibility: true);
310-
311-
var generator = dynamicMethod.GetILGenerator();
312-
313-
generator.Emit(OpCodes.Ldarg_0);
314-
generator.Emit(OpCodes.Ldarg_1);
315-
generator.Emit(OpCodes.Stfld, repeatedFieldOfSpanCountField);
316-
generator.Emit(OpCodes.Ret);
317-
318-
return (Action<RepeatedField<Span>, int>)dynamicMethod.CreateDelegate(typeof(Action<RepeatedField<Span>, int>));
319-
}
320-
321296
private struct TagEnumerationState : PeerServiceResolver.IPeerServiceState
322297
{
323298
public SdkLimitOptions SdkLimitOptions;

src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/MetricItemExtensions.cs

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
// </copyright>
1616

1717
using System.Collections.Concurrent;
18-
using System.Reflection;
19-
using System.Reflection.Emit;
2018
using System.Runtime.CompilerServices;
2119
using Google.Protobuf.Collections;
2220
using OpenTelemetry.Metrics;
@@ -30,7 +28,6 @@ namespace OpenTelemetry.Exporter.OpenTelemetryProtocol.Implementation
3028
internal static class MetricItemExtensions
3129
{
3230
private static readonly ConcurrentBag<OtlpMetrics.ScopeMetrics> MetricListPool = new();
33-
private static readonly Action<RepeatedField<OtlpMetrics.Metric>, int> RepeatedFieldOfMetricSetCountAction = CreateRepeatedFieldOfMetricSetCountAction();
3431

3532
internal static void AddMetrics(
3633
this OtlpCollector.ExportMetricsServiceRequest request,
@@ -81,7 +78,7 @@ internal static void Return(this OtlpCollector.ExportMetricsServiceRequest reque
8178

8279
foreach (var scope in resourceMetrics.ScopeMetrics)
8380
{
84-
RepeatedFieldOfMetricSetCountAction(scope.Metrics, 0);
81+
scope.Metrics.Clear();
8582
MetricListPool.Add(scope);
8683
}
8784
}
@@ -338,26 +335,5 @@ private static OtlpMetrics.Exemplar ToOtlpExemplar(this IExemplar exemplar)
338335
return otlpExemplar;
339336
}
340337
*/
341-
342-
private static Action<RepeatedField<OtlpMetrics.Metric>, int> CreateRepeatedFieldOfMetricSetCountAction()
343-
{
344-
FieldInfo repeatedFieldOfMetricCountField = typeof(RepeatedField<OtlpMetrics.Metric>).GetField("count", BindingFlags.NonPublic | BindingFlags.Instance);
345-
346-
DynamicMethod dynamicMethod = new DynamicMethod(
347-
"CreateSetCountAction",
348-
null,
349-
new[] { typeof(RepeatedField<OtlpMetrics.Metric>), typeof(int) },
350-
typeof(MetricItemExtensions).Module,
351-
skipVisibility: true);
352-
353-
var generator = dynamicMethod.GetILGenerator();
354-
355-
generator.Emit(OpCodes.Ldarg_0);
356-
generator.Emit(OpCodes.Ldarg_1);
357-
generator.Emit(OpCodes.Stfld, repeatedFieldOfMetricCountField);
358-
generator.Emit(OpCodes.Ret);
359-
360-
return (Action<RepeatedField<OtlpMetrics.Metric>, int>)dynamicMethod.CreateDelegate(typeof(Action<RepeatedField<OtlpMetrics.Metric>, int>));
361-
}
362338
}
363339
}

src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
<PackageReference Include="Grpc" Version="$(GrpcPkgVer)" Condition="'$(TargetFramework)' == 'netstandard2.0' OR '$(TargetFramework)' == 'net462'" />
2020
<PackageReference Include="Google.Protobuf" Version="$(GoogleProtobufPkgVer)" />
2121
<PackageReference Include="Grpc.Tools" Version="$(GrpcToolsPkgVer)" PrivateAssets="all" />
22-
<PackageReference Include="System.Reflection.Emit.Lightweight" Version="$(SystemReflectionEmitLightweightPkgVer)" Condition="'$(TargetFramework)' != 'net6.0'" />
2322
</ItemGroup>
2423

2524
<ItemGroup>

0 commit comments

Comments
 (0)