onProcessed method

  1. @override
void onProcessed(
  1. Msg msg,
  2. Duration elapsed
)
override

Called after a message has been processed.

Implementation

@override
void onProcessed(Msg msg, Duration elapsed) {
  // End Timeline span.
  if (enableTimeline && identical(msg, _currentMsg)) {
    dev.Timeline.finishSync();
    _messageSw.stop();
    _currentMsg = null;
  }

  // Record in the message log ring buffer.
  final entry = DevToolsMessageEntry(
    timestamp: DateTime.now(),
    messageType: msg.runtimeType.toString(),
    summary: _summarizeMsg(msg),
    processingTime: elapsed,
  );
  _messageLog.add(entry);
  if (_messageLog.length > maxLogEntries) {
    _messageLog.removeAt(0);
  }

  // Emit live event.
  if (enablePostEvent) {
    dev.postEvent('artisanal:message', <String, Object?>{...entry.toJson()});
  }

  _queuedMessageCount--;
  inner?.onProcessed(msg, elapsed);
}