toJson method
JSON-like representation for debug UIs.
Implementation
Map<String, Object?> toJson() {
return <String, Object?>{
'isConfigured': isConfigured,
'config': <String, Object?>{
'memoryCacheBytes': config.memoryCacheBytes,
'diskCacheBytes': config.diskCacheBytes,
'networkConcurrency': config.networkConcurrency,
'decodeConcurrency': config.decodeConcurrency,
'maxImageCompletionsPerFrame': config.maxImageCompletionsPerFrame,
'maxQueuedRuntimeLoads': config.maxQueuedRuntimeLoads,
'maxQueuedDecodes': config.maxQueuedDecodes,
'decodedCacheMaximumSize': config.decodedCacheMaximumSize,
'decodedCacheMaximumSizeBytes': config.decodedCacheMaximumSizeBytes,
'hasCustomCacheRoot': config.cacheRootPath != null,
'pluginCount': config.plugins.length,
'observerCount': config.observers.length,
'observerProgressIntervalMicros':
config.observerSamplingPolicy.progressInterval.inMicroseconds,
'observerProgressSampleRate':
config.observerSamplingPolicy.progressSampleRate,
},
'displayDecoder': displayDecoder.toJson(),
'capabilities': <String, Object?>{
'platform': capabilities.platformStatus.platform,
'isWeb': capabilities.platformStatus.isWeb,
'isSupportedPlatform': capabilities.platformStatus.isSupportedPlatform,
'runtimeAvailable': capabilities.platformStatus.runtimeAvailable,
'platformMessage': capabilities.platformStatus.message,
'platformContract': capabilities.platformStatus.contract?.toJson(),
'diskCache': capabilities.diskCache,
'httpTransport': capabilities.httpTransport,
'exifParser': capabilities.exifParser,
'pixelProcessors': capabilities.pixelProcessors,
'runtimePluginAbiVersion': capabilities.runtimePluginAbiVersion,
'runtimePluginRegistryStats': capabilities.runtimePluginRegistryStats
.toJson(),
'imageFormats': capabilities.imageFormats
.map(
(PixaRuntimeImageFormatCapability capability) =>
capability.toJson(),
)
.toList(growable: false),
'platformSelfCheck': platformSelfCheck.toJson(),
},
'registryArchitecture': registryArchitecture.toJson(),
'registryRoutePlan': registryRoutePlan,
'cacheStats': cacheStats == null
? null
: <String, Object?>{
'memoryEntries': cacheStats!.memoryEntries,
'memoryBytes': cacheStats!.memoryBytes,
'encodedMemoryEntries': cacheStats!.encodedMemoryEntries,
'encodedMemoryBytes': cacheStats!.encodedMemoryBytes,
'memoryHits': cacheStats!.memoryHits,
'memoryMisses': cacheStats!.memoryMisses,
'diskHits': cacheStats!.diskHits,
'diskMisses': cacheStats!.diskMisses,
'diskWrites': cacheStats!.diskWrites,
'diskCorruptionRecoveries': cacheStats!.diskCorruptionRecoveries,
'evictions': cacheStats!.evictions,
'hitRate': cacheStats!.hitRate,
'staleRevalidatesStarted': cacheStats!.staleRevalidatesStarted,
'staleRevalidatesCompleted':
cacheStats!.staleRevalidatesCompleted,
'staleRevalidatesFailed': cacheStats!.staleRevalidatesFailed,
'staleRevalidatesSkipped': cacheStats!.staleRevalidatesSkipped,
'staleRevalidatesInFlight': cacheStats!.staleRevalidatesInFlight,
'processedMemoryEntries': cacheStats!.processedMemoryEntries,
'processedMemoryBytes': cacheStats!.processedMemoryBytes,
'processedMemoryHits': cacheStats!.processedMemoryHits,
'processedMemoryMisses': cacheStats!.processedMemoryMisses,
'processedMemoryEvictions': cacheStats!.processedMemoryEvictions,
'processedDiskHits': cacheStats!.processedDiskHits,
'processedDiskMisses': cacheStats!.processedDiskMisses,
'processedDiskStaleHits': cacheStats!.processedDiskStaleHits,
'processedDiskWrites': cacheStats!.processedDiskWrites,
'processedDiskCorruptionRecoveries':
cacheStats!.processedDiskCorruptionRecoveries,
'processedHitRate': cacheStats!.processedHitRate,
'ownedBufferHandlesCreated':
cacheStats!.ownedBufferHandlesCreated,
'ownedBufferHandlesFreed': cacheStats!.ownedBufferHandlesFreed,
'ownedBufferBytesExposed': cacheStats!.ownedBufferBytesExposed,
'liveOwnedBufferHandles': cacheStats!.liveOwnedBufferHandles,
'progressSessionsCreated': cacheStats!.progressSessionsCreated,
'progressSessionsFreed': cacheStats!.progressSessionsFreed,
'liveProgressSessions': cacheStats!.liveProgressSessions,
'progressEventsEmitted': cacheStats!.progressEventsEmitted,
'progressEventsDropped': cacheStats!.progressEventsDropped,
'progressEventsDrained': cacheStats!.progressEventsDrained,
},
'decodedCacheStats': <String, Object?>{
'currentSize': decodedCacheStats.currentSize,
'currentSizeBytes': decodedCacheStats.currentSizeBytes,
'maximumSize': decodedCacheStats.maximumSize,
'maximumSizeBytes': decodedCacheStats.maximumSizeBytes,
'liveImageCount': decodedCacheStats.liveImageCount,
'byteUtilization': decodedCacheStats.byteUtilization,
},
'decodedRegistryEntries': decodedRegistryEntries,
'schedulerStats': schedulerStats?.toJson(),
};
}