EventTracker.jl
See Gallery for examples.
Recording API
Recording API is defined in EventTrackerBase.jl and re-exported from EventTracker.jl.
EventTrackerBase.@recordinterval — Macro@recordinterval tag code
@recordinterval codeRecord the start and stop times for executing code.
tag must be a literal symbol; i.e., @recordinterval :my_tag ... instead of @recordinterval my_tag ....
Examples
julia> using EventTrackerBase
julia> @recordinterval begin
sleep(0.01)
1
end
1The timing can now be printed with using EventTracker then EventTracker.summary().
EventTrackerBase.@recordpoint — Macro@recordpoint tag
@recordpointRecord the times this part of code is executed.
EventTrackerBase.clear — FunctionEventTracker.clear()Clear all records. The caller must ensure that no recordings are happening concurrently.
Analysis API
EventTracker.summary — FunctionEventTracker.summary()Compute and print the summary. Currently just pints EventTracker.summary_dataframe.
EventTracker.summary_dataframe — FunctionEventTracker.summary_dataframe(; owntime = false)Compute the summary of the events.
It computes the summary statistics of the events for each location and join the location information.
EventTracker.event_dataframe — FunctionEventTracker.event_dataframe(; owntime = false)Export tracked events as a DataFrame. If owntime = true is passed, include owntime column by analyzing the nesting of the intervals and compute the during excluding the time spent in the sub-intervals.
EventTracker.event_table — FunctionEventTracker.event_table()Export tracked events as a table.
EventTracker.location_dataframe — FunctionEventTracker.location_dataframe()Export tracked locations as a DataFrame.
EventTracker.location_table — FunctionEventTracker.location_table()Export tracked locations as a table.
EventTracker.stacks — FunctionEventTracker.stacks()Analyze nestings of the recorded intervals to recover the "call trees" of the functions instrumented with @recordinterval macro.
Currently, the returned object only supports Plots.plot API.