D3Renderer(port::Int, port_range::UnitRange; seek_store=nothing) -> D3Renderer
D3Renderer, which is a TimespanLogging aggregator which renders the logs over HTTP using the d3.js library.
port is the port that will be serving the HTTP website.
port_range specifies a range of ports that will be used to listen for connections from other Dagger workers.
seek_store, if specified, is a Tables.jl-compatible object that logs will be written to and read from. This table can be written to disk and then re-read later for offline log analysis.
LogWindow-compatible aggregator which stores logs in a Tables.jl-compatible sink.
TableStorage is reasonably simple:
ml = TimespanLogging.MultiEventLog() ... # Add some events lw = TimespanLogging.LogWindow(5*10^9, :core) # Create a DataFrame with one Any for each event df = DataFrame([key=> for key in keys(ml.consumers)]...) # Create the TableStorage and register its creation handler ts = DaggerWebDash.TableStorage(df) push!(lw.creation_handlers, ts) ml.aggregators[:lw] = lw # Logs will now be saved into `df` automatically, and packages like # DaggerWebDash.jl will automatically use it to retrieve subsets of the logs.
Tracks compute profile traces.