toJson method

Map<String, dynamic> toJson()

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,
  },
};