getErrorSummary method
Get error summary for diagnostics.
Implementation
ErrorSummary getErrorSummary({required String relayUrl}) {
final relayErrors =
_errorHistory.where((e) => e.relayUrl == relayUrl).toList();
if (relayErrors.isEmpty) {
return ErrorSummary(
relayUrl: relayUrl,
totalErrors: 0,
errorsByType: {},
recentErrors: [],
);
}
final errorsByType = <ErrorType, int>{};
for (final error in relayErrors) {
errorsByType[error.errorType] = (errorsByType[error.errorType] ?? 0) + 1;
}
final recentErrors = relayErrors
.where((e) => DateTime.now().difference(e.timestamp).inMinutes < 5)
.toList();
return ErrorSummary(
relayUrl: relayUrl,
totalErrors: relayErrors.length,
errorsByType: Map.unmodifiable(errorsByType),
recentErrors: recentErrors,
);
}