Class UpdatePerformanceTracker
java.lang.Object
io.deephaven.engine.table.impl.perf.UpdatePerformanceTracker
This tool is meant to track periodic update events that take place in an UpdateGraph
. This generally
includes:
- Update source
run()
invocations Table
ShiftObliviousListener
notifications (seeShiftObliviousInstrumentedListener
)Table
TableUpdateListener
notifications (seeInstrumentedTableUpdateListener
)
- ApiNote:
- Regarding thread safety, this class interacts with a singleton PeriodicUpdateGraph and expects all calls to
getEntry(String)
,PerformanceEntry.onUpdateStart()
, andPerformanceEntry.onUpdateEnd()
to be performed while protected by the UGP's lock.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Holder for logging details that are the same for every Entry in an interval -
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
flush()
Flush this UpdatePerformanceTracker to the downstream publisher and logger, and begin its next interval.final PerformanceEntry
Get a new entry to track the performance characteristics of a single recurring update event.static @NotNull QueryTable
static void
void
start()
Start this UpdatePerformanceTracker, by beginning its first interval.
-
Field Details
-
REPORT_INTERVAL_MILLIS
public static final long REPORT_INTERVAL_MILLIS
-
-
Constructor Details
-
UpdatePerformanceTracker
-
-
Method Details
-
start
public void start()Start this UpdatePerformanceTracker, by beginning its first interval. -
flush
public void flush()Flush this UpdatePerformanceTracker to the downstream publisher and logger, and begin its next interval. -
enableUnitTestMode
public void enableUnitTestMode() -
getEntry
Get a new entry to track the performance characteristics of a single recurring update event.- Parameters:
description
- log entry description- Returns:
- UpdatePerformanceTracker.Entry
-
getQueryTable
-
resetForUnitTests
-