Class ListFile.RollingMetricPerformanceTracker
java.lang.Object
org.apache.nifi.processors.standard.ListFile.RollingMetricPerformanceTracker
- All Implemented Interfaces:
ListFile.PerformanceTracker
- Enclosing class:
ListFile
public static final class ListFile.RollingMetricPerformanceTracker
extends Object
implements ListFile.PerformanceTracker
Tracks metrics using a rolling window of time, in which older metrics are 'aged off' by calling
purgeTimingInfo(long). Tracking these metrics allows information
to be gleaned, such as which files are expensive to operate on or which operations are most expensive. However, the heap utilization is significant.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Stringprivate longprivate ListFile.TimedOperationKeyprivate final Map<Tuple<String, String>, ListFile.TimingInfo> private longprivate final org.apache.nifi.logging.ComponentLogprivate final long -
Constructor Summary
ConstructorsConstructorDescriptionRollingMetricPerformanceTracker(org.apache.nifi.logging.ComponentLog logger, long maxDiskOperationMillis, int maxEntries) -
Method Summary
Modifier and TypeMethodDescriptionvoidacceptOperation(ListFile.DiskOperation operation, String directory, String filename, long millis) beginOperation(ListFile.DiskOperation operation, String directory, String filename) private doublecalculateStdDev(double average, double count, ListFile.DiskOperation operation) voidvoidvoidcompleteOperation(ListFile.TimedOperationKey operationKey) longlonggetOperationStatistics(ListFile.DiskOperation operation) getTimingInfo(String directory, String filename) intvoidpurgeTimingInfo(long cutoff) voidsetActiveDirectory(String directory) voidsetActiveOperation(ListFile.TimedOperationKey activeOperation)
-
Field Details
-
directoryCanonicalization
-
directoryToTimingInfo
-
activeOperation
-
earliestTimestamp
private long earliestTimestamp -
maxDiskOperationMillis
private final long maxDiskOperationMillis -
logger
private final org.apache.nifi.logging.ComponentLog logger -
activeDirectory
-
activeDirectoryStartTime
private long activeDirectoryStartTime
-
-
Constructor Details
-
RollingMetricPerformanceTracker
public RollingMetricPerformanceTracker(org.apache.nifi.logging.ComponentLog logger, long maxDiskOperationMillis, int maxEntries)
-
-
Method Details
-
beginOperation
public ListFile.TimedOperationKey beginOperation(ListFile.DiskOperation operation, String directory, String filename) - Specified by:
beginOperationin interfaceListFile.PerformanceTracker
-
completeOperation
- Specified by:
completeOperationin interfaceListFile.PerformanceTracker
-
acceptOperation
public void acceptOperation(ListFile.DiskOperation operation, String directory, String filename, long millis) - Specified by:
acceptOperationin interfaceListFile.PerformanceTracker
-
getTimingInfo
- Specified by:
getTimingInfoin interfaceListFile.PerformanceTracker
-
setActiveOperation
- Specified by:
setActiveOperationin interfaceListFile.PerformanceTracker
-
completeActiveOperation
public void completeActiveOperation()- Specified by:
completeActiveOperationin interfaceListFile.PerformanceTracker
-
getActiveOperation
- Specified by:
getActiveOperationin interfaceListFile.PerformanceTracker
-
setActiveDirectory
- Specified by:
setActiveDirectoryin interfaceListFile.PerformanceTracker
-
completeActiveDirectory
public void completeActiveDirectory()- Specified by:
completeActiveDirectoryin interfaceListFile.PerformanceTracker
-
getActiveDirectoryStartTime
public long getActiveDirectoryStartTime()- Specified by:
getActiveDirectoryStartTimein interfaceListFile.PerformanceTracker
-
getActiveDirectory
- Specified by:
getActiveDirectoryin interfaceListFile.PerformanceTracker
-
getTrackedFileCount
public int getTrackedFileCount()- Specified by:
getTrackedFileCountin interfaceListFile.PerformanceTracker
-
purgeTimingInfo
public void purgeTimingInfo(long cutoff) - Specified by:
purgeTimingInfoin interfaceListFile.PerformanceTracker
-
getEarliestTimestamp
public long getEarliestTimestamp()- Specified by:
getEarliestTimestampin interfaceListFile.PerformanceTracker
-
getOperationStatistics
- Specified by:
getOperationStatisticsin interfaceListFile.PerformanceTracker
-
calculateStdDev
-