ClassLoaderStats constructor

const ClassLoaderStats({
  1. required int classCount,
  2. required int subclassCount,
  3. required int interfaceCount,
  4. required int declaredInterfaceCount,
  5. required int mixinCount,
  6. required int declaredMixinCount,
  7. required double hitRate,
  8. required int hitCount,
  9. required int missCount,
  10. required int memoryUsage,
  11. required double averageLoadTime,
  12. required int successfulLoads,
  13. 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,
});