configureProcessingCache static method
void
configureProcessingCache({})
Tune processing cache behavior at runtime.
Implementation
static void configureProcessingCache({
bool? enabled,
int? maxEntries,
int? maxBytes,
int? minPointCount,
bool? extractionCacheEnabled,
int? maxExtractionEntries,
int? maxExtractionBytes,
int? minExtractionPointCount,
}) {
if (enabled != null) {
ChartDataProcessingCacheConfig.enabled = enabled;
}
if (maxEntries != null) {
ChartDataProcessingCacheConfig.maxEntries = math.max(0, maxEntries);
_processingCache.pruneTo(
maxEntries: ChartDataProcessingCacheConfig.maxEntries,
maxBytes: ChartDataProcessingCacheConfig.maxBytes,
);
}
if (maxBytes != null) {
ChartDataProcessingCacheConfig.maxBytes = math.max(0, maxBytes);
_processingCache.pruneTo(
maxEntries: ChartDataProcessingCacheConfig.maxEntries,
maxBytes: ChartDataProcessingCacheConfig.maxBytes,
);
}
if (minPointCount != null) {
ChartDataProcessingCacheConfig.minPointCount = math.max(0, minPointCount);
}
if (extractionCacheEnabled != null) {
ChartDataProcessingCacheConfig.extractionCacheEnabled =
extractionCacheEnabled;
if (!extractionCacheEnabled) {
_extractedSeriesCache.clear(resetMetrics: false);
}
}
if (maxExtractionEntries != null) {
ChartDataProcessingCacheConfig.maxExtractionEntries = math.max(
0,
maxExtractionEntries,
);
_extractedSeriesCache.pruneTo(
maxEntries: ChartDataProcessingCacheConfig.maxExtractionEntries,
maxBytes: ChartDataProcessingCacheConfig.maxExtractionBytes,
);
}
if (maxExtractionBytes != null) {
ChartDataProcessingCacheConfig.maxExtractionBytes = math.max(
0,
maxExtractionBytes,
);
_extractedSeriesCache.pruneTo(
maxEntries: ChartDataProcessingCacheConfig.maxExtractionEntries,
maxBytes: ChartDataProcessingCacheConfig.maxExtractionBytes,
);
}
if (minExtractionPointCount != null) {
ChartDataProcessingCacheConfig.minExtractionPointCount = math.max(
0,
minExtractionPointCount,
);
_extractedSeriesCache.pruneMinSourceLength(
ChartDataProcessingCacheConfig.minExtractionPointCount,
);
}
}