getStatistics method

Map<String, dynamic> getStatistics()

Get statistics about signal activity.

Implementation

Map<String, dynamic> getStatistics() {
  final eventsList = events;
  final allSignals = signals; // includes standalone
  return {
    'totalSignals': allSignals.length,
    'totalEvents': eventsList.length,
    'eventsByType': {
      for (final type in SignalEventType.values)
        type.toString(): eventsList.where((e) => e.type == type).length,
    },
    'signalChangeFrequency': {
      for (final key in allSignals.keys)
        key: getEventsForSignal(key)
            .where((e) => e.type == SignalEventType.valueChanged)
            .length,
    },
  };
}