generateReport method
Generate analysis report.
Implementation
String generateReport() {
final buffer = StringBuffer();
buffer.writeln('═══════════════════════════════════════════════════════════');
buffer.writeln(' WIDGET ANALYSIS REPORT');
buffer.writeln('═══════════════════════════════════════════════════════════');
buffer.writeln();
buffer.writeln('Top 10 Most Used Widgets:');
final sortedByCount = _widgetCounts.entries.toList()
..sort((a, b) => b.value.compareTo(a.value));
for (final entry in sortedByCount.take(10)) {
buffer.writeln(' ${entry.key}: ${entry.value} builds');
}
buffer.writeln();
buffer.writeln('Top 10 Slowest Widgets (avg build time):');
for (final entry in slowestWidgets) {
buffer.writeln(' ${entry.key}: ${entry.value.inMicroseconds}μs');
}
buffer.writeln();
buffer.writeln('Potential Removal Candidates (rarely used):');
for (final name in unusedWidgetCandidates) {
buffer.writeln(' $name: ${_widgetCounts[name]} builds');
}
return buffer.toString();
}