getReport static method
Get metrics report
Implementation
static Map<String, dynamic> getReport() {
// Calculate average durations
final avgDurations = <String, String>{};
_operationTimes.forEach((key, durations) {
final avg = getAverageDuration(key);
if (avg != null) {
avgDurations[key] = '${avg.inMicroseconds / 1000.0}ms';
}
});
return {
'controllers': {
'active': activeControllers,
'created': totalControllersCreated,
'disposed': totalControllersDisposed,
'byType': controllerCreationCount,
},
'state': {
'rxValues': totalRxValues,
'stateUpdates': totalStateUpdates,
'providers': totalProviders,
},
'effects': {
'totalRuns': totalEffectRuns,
'successful': totalEffectSuccesses,
'failed': totalEffectFailures,
'successByName': effectSuccessCounts,
'failureByName': effectFailureCounts,
},
'counters': Map.from(_counters),
'performance': {
'averageDurations': avgDurations,
}
};
}