Skip to content

Commit d810e5f

Browse files
authored
Fix telemetry test failures (#1439)
1 parent 65df668 commit d810e5f

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

test/Polly.TestUtils/TestUtilities.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,22 +55,28 @@ public static ILoggerFactory CreateLoggerFactory(out FakeLogger logger)
5555

5656
public static IDisposable EnablePollyMetering(ICollection<MeteringEvent> events)
5757
{
58+
var stateStr = Guid.NewGuid().ToString();
5859
var meterListener = new MeterListener
5960
{
6061
InstrumentPublished = (instrument, listener) =>
6162
{
6263
if (instrument.Meter.Name == "Polly")
6364
{
64-
listener.EnableMeasurementEvents(instrument);
65+
listener.EnableMeasurementEvents(instrument, stateStr);
6566
}
6667
}
6768
};
6869
meterListener.SetMeasurementEventCallback<int>(OnMeasurementRecorded);
6970
meterListener.SetMeasurementEventCallback<double>(OnMeasurementRecorded);
7071
meterListener.Start();
7172

72-
void OnMeasurementRecorded<T>(Instrument instrument, T measurement, ReadOnlySpan<KeyValuePair<string, object?>> tags, object? state)
73-
=> events.Add(new MeteringEvent(measurement!, instrument.Name, tags.ToArray().ToDictionary(v => v.Key, v => v.Value)));
73+
void OnMeasurementRecorded<T>(Instrument instrument, T measurement, ReadOnlySpan<KeyValuePair<string, object?>> tags, object? stateObj)
74+
{
75+
if (stateObj is string str && str == stateStr)
76+
{
77+
events.Add(new MeteringEvent(measurement!, instrument.Name, tags.ToArray().ToDictionary(v => v.Key, v => v.Value)));
78+
}
79+
}
7480

7581
return meterListener;
7682
}

0 commit comments

Comments
 (0)