in src/ServiceProfiler.EventPipe.Otel/Azure.Monitor.OpenTelemetry.Profiler.Core/EventListeners/EventWrittenEventArgsExtensions.cs [7:36]
public static T? GetPayload<T>(this EventWrittenEventArgs eventData, string name)
{
if (eventData is null)
{
throw new InvalidOperationException("Event data is required.");
}
if (eventData.PayloadNames is null || !eventData.PayloadNames.Any())
{
return default;
}
int index = IndexAt(eventData.PayloadNames, name);
if (index == -1)
{
return default;
}
if (eventData.Payload is null)
{
throw new InvalidDataException("Event data payload doesn't match names.");
}
object? result = eventData.Payload[index];
if (result is null)
{
return default;
}
return (T)result;
}