Class BarrageTableLoggers
BarragePerformanceLog.
By default nothing is recorded: BarrageTableLoggers.Factory.Noop is installed and barrage performance data is available only from
the in-memory tables. An integrator installs its own factory with set(Factory), which must happen before the
first use of BarragePerformanceLog, because the sinks are resolved once, when that singleton is constructed.
Install the factory early in startup, but do not force BarragePerformanceLog.getInstance() at that point to
prove the ordering: constructing that singleton registers blink tables with the update graph of the current
ExecutionContext, which typically does not exist yet while startup code is
running. Let the first barrage activity create it, and rely on the warning that set(Factory) logs if the
installation turns out to be too late.
This class is the template for extension modules that want pluggable table logging: keep the sink interfaces in the
module that owns them, expose a <Module>TableLoggers holder with a nested Factory and a Noop
default, and let the integrator install a factory during startup. Extension-specific loggers should not be added to
io.deephaven.engine.tablelogger.EngineTableLoggers, which is reserved for engine concepts. The ordering
caveat above generalizes as well: every such holder has its own "install before first use of singleton X" deadline,
and X's construction may need runtime machinery that startup code cannot supply.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceSupplies the sinks thatBarragePerformanceLogforwards its entries to. -
Method Summary
Modifier and TypeMethodDescriptionstatic BarrageTableLoggers.Factoryget()static voidset(BarrageTableLoggers.Factory factory)
-
Method Details
-
get
-
set
-