getStats method
Get comprehensive cache statistics
Implementation
Map<String, dynamic> getStats() {
int globalQueries = 0;
int scopedQueries = 0;
// Count queries by checking if they're tracked in _scopeQueries
final allScopedKeys = <String>{};
for (final scopeKeys in _scopeQueries.values) {
allScopedKeys.addAll(scopeKeys);
}
for (final key in _queries.keys) {
if (allScopedKeys.contains(key)) {
scopedQueries++;
} else {
globalQueries++;
}
}
return {
'total_queries': _queries.length,
'global_queries': globalQueries,
'scoped_queries': scopedQueries,
'active_scopes': _scopeQueries.length,
'loading': _queries.values.where((q) => q.isLoading.value).length,
'success': _queries.values
.where((q) => q.status.value == ZenQueryStatus.success)
.length,
'error': _queries.values
.where((q) => q.status.value == ZenQueryStatus.error)
.length,
'stale': _queries.values.where((q) => q.isStale).length,
};
}