diff --git a/build/Common.nonprod.props b/build/Common.nonprod.props index 12049e6e3c0..fc4cb09c5a8 100644 --- a/build/Common.nonprod.props +++ b/build/Common.nonprod.props @@ -33,7 +33,7 @@ [0.13.3,0.14) [2.9.1,3.0) [2.3.1,3.0) - [3.19.4,4.0) + [3.22.0,4.0) [2.50.0,3.0) [2.48.0, 3.0) [2.48.0,3.0) diff --git a/build/Common.props b/build/Common.props index d47bf985f5e..81acc9fde9c 100644 --- a/build/Common.props +++ b/build/Common.props @@ -27,7 +27,7 @@ Refer to https://docs.microsoft.com/nuget/concepts/package-versioning for semver syntax. --> [4.2.0,5.0) - [3.19.4,4.0) + [3.22.0,4.0) [2.44.0,3.0) [2.43.0,3.0) [2.44.0,3.0) @@ -49,7 +49,6 @@ [1.2.0-beta.435,2.0) 1.4.0 7.0.0 - 4.7.0 4.7.2 4.5.4 diff --git a/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/ActivityExtensions.cs b/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/ActivityExtensions.cs index df2499e2c58..b76ac227cd6 100644 --- a/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/ActivityExtensions.cs +++ b/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/ActivityExtensions.cs @@ -16,11 +16,8 @@ using System.Collections.Concurrent; using System.Diagnostics; -using System.Reflection; -using System.Reflection.Emit; using System.Runtime.CompilerServices; using Google.Protobuf; -using Google.Protobuf.Collections; using OpenTelemetry.Internal; using OpenTelemetry.Proto.Collector.Trace.V1; using OpenTelemetry.Proto.Common.V1; @@ -34,7 +31,6 @@ namespace OpenTelemetry.Exporter.OpenTelemetryProtocol.Implementation internal static class ActivityExtensions { private static readonly ConcurrentBag SpanListPool = new(); - private static readonly Action, int> RepeatedFieldOfSpanSetCountAction = CreateRepeatedFieldOfSpanSetCountAction(); internal static void AddBatch( this ExportTraceServiceRequest request, @@ -84,7 +80,7 @@ internal static void Return(this ExportTraceServiceRequest request) foreach (var scope in resourceSpans.ScopeSpans) { - RepeatedFieldOfSpanSetCountAction(scope.Spans, 0); + scope.Spans.Clear(); SpanListPool.Add(scope); } } @@ -297,27 +293,6 @@ private static Span.Types.Event ToOtlpEvent(in ActivityEvent activityEvent, SdkL return otlpEvent; } - private static Action, int> CreateRepeatedFieldOfSpanSetCountAction() - { - FieldInfo repeatedFieldOfSpanCountField = typeof(RepeatedField).GetField("count", BindingFlags.NonPublic | BindingFlags.Instance); - - DynamicMethod dynamicMethod = new DynamicMethod( - "CreateSetCountAction", - null, - new[] { typeof(RepeatedField), typeof(int) }, - typeof(ActivityExtensions).Module, - skipVisibility: true); - - var generator = dynamicMethod.GetILGenerator(); - - generator.Emit(OpCodes.Ldarg_0); - generator.Emit(OpCodes.Ldarg_1); - generator.Emit(OpCodes.Stfld, repeatedFieldOfSpanCountField); - generator.Emit(OpCodes.Ret); - - return (Action, int>)dynamicMethod.CreateDelegate(typeof(Action, int>)); - } - private struct TagEnumerationState : PeerServiceResolver.IPeerServiceState { public SdkLimitOptions SdkLimitOptions; diff --git a/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/MetricItemExtensions.cs b/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/MetricItemExtensions.cs index 24a7fb6730e..31e3438d8ca 100644 --- a/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/MetricItemExtensions.cs +++ b/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/MetricItemExtensions.cs @@ -15,8 +15,6 @@ // using System.Collections.Concurrent; -using System.Reflection; -using System.Reflection.Emit; using System.Runtime.CompilerServices; using Google.Protobuf.Collections; using OpenTelemetry.Metrics; @@ -30,7 +28,6 @@ namespace OpenTelemetry.Exporter.OpenTelemetryProtocol.Implementation internal static class MetricItemExtensions { private static readonly ConcurrentBag MetricListPool = new(); - private static readonly Action, int> RepeatedFieldOfMetricSetCountAction = CreateRepeatedFieldOfMetricSetCountAction(); internal static void AddMetrics( this OtlpCollector.ExportMetricsServiceRequest request, @@ -81,7 +78,7 @@ internal static void Return(this OtlpCollector.ExportMetricsServiceRequest reque foreach (var scope in resourceMetrics.ScopeMetrics) { - RepeatedFieldOfMetricSetCountAction(scope.Metrics, 0); + scope.Metrics.Clear(); MetricListPool.Add(scope); } } @@ -338,26 +335,5 @@ private static OtlpMetrics.Exemplar ToOtlpExemplar(this IExemplar exemplar) return otlpExemplar; } */ - - private static Action, int> CreateRepeatedFieldOfMetricSetCountAction() - { - FieldInfo repeatedFieldOfMetricCountField = typeof(RepeatedField).GetField("count", BindingFlags.NonPublic | BindingFlags.Instance); - - DynamicMethod dynamicMethod = new DynamicMethod( - "CreateSetCountAction", - null, - new[] { typeof(RepeatedField), typeof(int) }, - typeof(MetricItemExtensions).Module, - skipVisibility: true); - - var generator = dynamicMethod.GetILGenerator(); - - generator.Emit(OpCodes.Ldarg_0); - generator.Emit(OpCodes.Ldarg_1); - generator.Emit(OpCodes.Stfld, repeatedFieldOfMetricCountField); - generator.Emit(OpCodes.Ret); - - return (Action, int>)dynamicMethod.CreateDelegate(typeof(Action, int>)); - } } } diff --git a/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj b/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj index 0a4cdcb2291..7a6c5164d07 100644 --- a/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj +++ b/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj @@ -19,7 +19,6 @@ -