ClassLoaderStats constructor
const
ClassLoaderStats({
- required int classCount,
- required int subclassCount,
- required int interfaceCount,
- required int declaredInterfaceCount,
- required int mixinCount,
- required int declaredMixinCount,
- required double hitRate,
- required int hitCount,
- required int missCount,
- required int memoryUsage,
- required double averageLoadTime,
- required int successfulLoads,
- required int failedLoads,
Statistics and metrics for ClassLoader cache performance monitoring.
Provides comprehensive insights into cache behavior, memory usage, and performance characteristics to support optimization and capacity planning.
Metric Categories
- Cache Performance: Hit rates, miss counts, load times
- Memory Usage: Cache sizes, memory consumption estimates
- Operation Counts: Load attempts, successful loads, failures
- Efficiency Metrics: Cache utilization, eviction rates
Example Usage
final stats = loader.getCacheStats();
// Performance monitoring
if (stats.hitRate < 0.8) {
print('Low cache hit rate: ${stats.hitRate}');
}
// Memory monitoring
if (stats.memoryUsage > maxMemoryThreshold) {
await loader.flush();
}
// Capacity planning
print('Classes loaded: ${stats.classCount}');
print('Average load time: ${stats.averageLoadTime}ms');
Implementation
const ClassLoaderStats({
required this.classCount,
required this.subclassCount,
required this.interfaceCount,
required this.declaredInterfaceCount,
required this.mixinCount,
required this.declaredMixinCount,
required this.hitRate,
required this.hitCount,
required this.missCount,
required this.memoryUsage,
required this.averageLoadTime,
required this.successfulLoads,
required this.failedLoads,
});