toJson method
Implementation
Map<String, dynamic> toJson() => {
'path': path.name,
'seriesCount': seriesCount,
'dataPointCount': dataPointCount,
'effectiveDataPointCount': effectiveDataPointCount,
'sampleInputPointCount': sampleInputPointCount,
'isViewportReduced': isViewportReduced,
'effectiveDataPointRatio': effectiveDataPointRatio,
'viewportReductionRatio': viewportReductionRatio,
'outputPointCount': outputPointCount,
'renderThreshold': renderThreshold,
'samplingStrategy': samplingStrategy?.name ?? 'auto',
'resolvedSamplingStrategy': resolvedSamplingStrategy.name,
'resolvedSamplingStrategies': [
for (final strategy in resolvedSamplingStrategies) strategy.name,
],
'wasDownsampled': wasDownsampled,
'reducedPointCount': reducedPointCount,
'samplingOutputRatio': samplingOutputRatio,
'samplingReductionRatio': samplingReductionRatio,
'cacheHit': cacheHit,
'cacheEligible': cacheEligible,
'extractionCacheEligible': extractionCacheEligible,
'cacheRecommendedAction': cacheRecommendedAction.name,
'extractionCacheRecommendedAction': extractionCacheRecommendedAction.name,
'cacheRecommendationSeverity': cacheRecommendationSeverity.name,
'extractionCacheRecommendationSeverity':
extractionCacheRecommendationSeverity.name,
'overallCacheSeverity': overallCacheSeverity.name,
if (usedIsolate != null) 'usedIsolate': usedIsolate,
if (isolateEligible != null) 'isolateEligible': isolateEligible,
if (isolatePointThreshold != null)
'isolatePointThreshold': isolatePointThreshold,
'durationsMicros': {
if (endToEndDuration != null)
'endToEnd': endToEndDuration!.inMicroseconds,
'processing': processingDuration.inMicroseconds,
'extraction': extractionDuration.inMicroseconds,
'window': windowDuration.inMicroseconds,
'stats': statsDuration.inMicroseconds,
'sampling': samplingDuration.inMicroseconds,
'pointBuild': pointBuildDuration.inMicroseconds,
},
};