logEventAsync method
Log an event (asynchronous).
Implementation
Future<void> logEventAsync(
String eventName,
LogEventMetadata metadata,
) async {
final sampleResult = shouldSampleEvent(eventName, _samplingConfig);
if (sampleResult != null && sampleResult == 0) return;
final metadataWithRate = sampleResult != null && sampleResult > 0
? {...metadata, 'sample_rate': sampleResult}
: metadata;
if (_sink == null) {
_eventQueue.add(
_QueuedEvent(
eventName: eventName,
metadata: metadataWithRate,
isAsync: true,
),
);
return;
}
await _sink!.logEventAsync(eventName, metadataWithRate);
}