event static method

void event(
  1. String type, {
  2. TraceTag tag = TraceTag.general,
  3. Map<String, Object?> fields = const {},
})

Implementation

static void event(
  String type, {
  TraceTag tag = TraceTag.general,
  Map<String, Object?> fields = const {},
}) {
  if (!enabled || !isTagEnabled(tag)) return;
  final payload = <String, Object?>{
    'v': _eventSchemaVersion,
    'ts': (_testNowProvider != null ? _testNowProvider!() : DateTime.now())
        .microsecondsSinceEpoch,
    'tag': tag.name,
    'type': type,
    if (fields.isNotEmpty) 'fields': fields,
  };
  try {
    _writeRaw(
      '[${tag.name}] $_eventMarker${jsonEncode(payload)}',
      structuredEvent: true,
    );
  } on JsonUnsupportedObjectError catch (error) {
    _writeRaw(
      '[general] trace event dropped: type=$type '
      'reason=${error.runtimeType}',
    );
  }
}