Skip to content

Commit 21029c3

Browse files
[OTLP] Use reflection to set time window
Remove internal method and set with reflection instead.
1 parent 858205d commit 21029c3

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

src/OpenTelemetry/Metrics/AggregatorStore.cs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -298,13 +298,6 @@ internal void SnapshotCumulative(int indexSnapshot)
298298
internal MetricPointsAccessor GetMetricPoints()
299299
=> new(this.metricPoints, this.currentMetricPointBatch, this.batchSize);
300300

301-
// This method must only be used for testing purposes
302-
internal void OverrideTimeRange(DateTimeOffset startTimeExclusive, DateTimeOffset endTimeInclusive)
303-
{
304-
this.StartTimeExclusive = startTimeExclusive;
305-
this.EndTimeInclusive = endTimeInclusive;
306-
}
307-
308301
private static double[] FindDefaultHistogramBounds(in MetricStreamIdentity metricStreamIdentity)
309302
{
310303
if (metricStreamIdentity.Unit == "s")

test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/Implementation/Serializer/ProtobufOtlpMetricSerializerTests.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// SPDX-License-Identifier: Apache-2.0
33

44
using System.Diagnostics.Metrics;
5+
using System.Reflection;
56
using OpenTelemetry.Exporter.OpenTelemetryProtocol.Implementation;
67
using OpenTelemetry.Exporter.OpenTelemetryProtocol.Implementation.Serializer;
78
using OpenTelemetry.Metrics;
@@ -20,8 +21,8 @@ public static async Task WriteMetricsData_Serializes_Metrics_Correctly()
2021

2122
var attributes = new Dictionary<string, object>
2223
{
23-
{ "service.name", "OpenTelemetry-DotNet" },
24-
{ "service.version", "1.2.3" },
24+
["service.name"] = "OpenTelemetry-DotNet",
25+
["service.version"] = "1.2.3",
2526
};
2627

2728
var buffer = new byte[1024];
@@ -114,9 +115,16 @@ private static Batch<Metric> GenerateMetrics()
114115
var startTime = new DateTimeOffset(2025, 10, 08, 10, 20, 11, TimeSpan.Zero);
115116
var endTime = startTime.AddSeconds(10);
116117

118+
var type = typeof(AggregatorStore);
119+
var bindingAttributes = BindingFlags.NonPublic | BindingFlags.Instance;
120+
121+
var startTimeProperty = type.GetProperty(nameof(AggregatorStore.StartTimeExclusive), bindingAttributes)!;
122+
var endTimeProperty = type.GetProperty(nameof(AggregatorStore.EndTimeInclusive), bindingAttributes)!;
123+
117124
foreach (var metric in metrics)
118125
{
119-
metric.AggregatorStore.OverrideTimeRange(startTime, endTime);
126+
startTimeProperty.SetValue(metric.AggregatorStore, startTime);
127+
endTimeProperty.SetValue(metric.AggregatorStore, endTime);
120128
}
121129

122130
return metrics;

0 commit comments

Comments
 (0)