track method

void track(
  1. String type, {
  2. TelemetryCategory category = TelemetryCategory.sdk,
  3. Map<String, dynamic>? properties,
})

Track a generic event

type - Event type identifier category - Event category for grouping properties - Additional event properties

Implementation

void track(
  String type, {
  TelemetryCategory category = TelemetryCategory.sdk,
  Map<String, dynamic>? properties,
}) {
  if (!_enabled) return;

  final event = TelemetryEvent(
    type: type,
    category: category,
    properties: _enrichProperties(properties),
  );

  _eventQueue.add(event);
  _logger.debug('Event tracked: $type');

  // Auto-flush if batch size reached
  if (_eventQueue.length >= _batchSize) {
    unawaited(flush());
  }
}