end static method

void end()

Ends the benchmark and logs a formatted summary of all milestones.

Implementation

static void end() {
  if (!_totalTimer.isRunning) return;
  _totalTimer.stop();

  final total = _totalTimer.elapsedMilliseconds;
  final direction = _isOutbound ? 'OUTBOUND' : 'INBOUND';
  final buffer = StringBuffer()
    ..writeln('')
    ..writeln(
      '╔══════════════════════════════════════════════════════════╗',
    )
    ..writeln(
      '║       $direction CALL CONNECTION BENCHMARK RESULTS       ║',
    )
    ..writeln(
      '╠══════════════════════════════════════════════════════════╣',
    );

  // Sort milestones by time for chronological display
  final sortedEntries = _milestones.entries.toList()
    ..sort((a, b) => a.value.compareTo(b.value));

  int? previousTime;
  for (final entry in sortedEntries) {
    final delta =
        previousTime != null ? entry.value - previousTime : entry.value;
    final deltaStr = previousTime != null ? '(+${delta}ms)' : '';
    buffer.writeln(
      '║  ${entry.key.padRight(35)} ${entry.value.toString().padLeft(6)}ms ${deltaStr.padLeft(10)} ║',
    );
    previousTime = entry.value;
  }

  buffer
    ..writeln(
      '╠══════════════════════════════════════════════════════════╣',
    )
    ..writeln(
      '║  TOTAL CONNECTION TIME:              ${total.toString().padLeft(6)}ms            ║',
    )
    ..writeln(
      '╚══════════════════════════════════════════════════════════╝',
    );

  GlobalLogger().i(buffer.toString());
}