format method

String format()

Human-readable multi-line summary (report-time only).

Implementation

String format() {
  final lines = <String>[];
  for (final p in PdfPerfPhase.values) {
    final calls = phaseCalls[p.index];
    if (calls == 0) continue;
    final ms = (phaseUs[p.index] / 1000).toStringAsFixed(1);
    lines.add('  ${p.name}: ${ms}ms over $calls call(s)');
  }
  for (final c in PdfPerfCount.values) {
    if (counts[c.index] != 0) lines.add('  ${c.name}: ${counts[c.index]}');
  }
  for (final e in PdfPerfEvent.values) {
    if (events[e.index] != 0) lines.add('  ${e.name}: ${events[e.index]}');
  }
  return lines.isEmpty ? 'PdfPerfStats(empty)' : 'PdfPerfStats:\n${lines.join('\n')}';
}