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 code
Record 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
1
The timing can now be printed with using EventTracker
then EventTracker.summary()
.
EventTrackerBase.@recordpoint
— Macro@recordpoint tag
@recordpoint
Record 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.