toDiagnosticString method

String toDiagnosticString()

Compact redacted diagnostic text for issue reports and support logs.

Implementation

String toDiagnosticString() {
  final StringBuffer buffer = StringBuffer()
    ..writeln('Pixa diagnostics')
    ..writeln('configured: $isConfigured')
    ..writeln('platform: ${capabilities.platformStatus.platform}')
    ..writeln(
      'runtimeAvailable: ${capabilities.platformStatus.runtimeAvailable}',
    )
    ..writeln('selfCheckPassed: ${platformSelfCheck.passed}')
    ..writeln('displayDecoder: ${displayDecoder.defaultBackend}')
    ..writeln('cacheHitRate: ${_formatRatio(cacheStats?.hitRate ?? 0)}')
    ..writeln(
      'decodedCache: entries=${decodedCacheStats.currentSize}/${decodedCacheStats.maximumSize} '
      'bytes=${decodedCacheStats.currentSizeBytes}/${decodedCacheStats.maximumSizeBytes} '
      'live=${decodedCacheStats.liveImageCount}',
    )
    ..writeln(
      'scheduler: active=${schedulerStats?.activeRuntimeLoads ?? 0} '
      'queue=${schedulerStats?.queueDepth ?? 0} '
      'inflight=${schedulerStats?.inflightRequests ?? 0}',
    )
    ..writeln(
      'handlers: runtime=${registryArchitecture.runtimeHandlers} '
      'dart=${registryArchitecture.dartHandlers} '
      'platform=${registryArchitecture.platformHandlers} '
      'external=${registryArchitecture.externalHandlers}',
    )
    ..writeln(
      'runtimeModules: total=${registryArchitecture.runtimeModules} '
      'singleHost=${registryArchitecture.runtimeCanUseSingleHostBinary}',
    );
  return PixaRedactor.redactText(buffer.toString().trimRight());
}