https://github.com/tkf/eventtracker.jl
https://github.com/tkf/eventtracker.jl
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/tkf/eventtracker.jl
- Owner: tkf
- License: mit
- Created: 2021-05-19T19:16:10.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-03-20T08:50:53.000Z (about 4 years ago)
- Last Synced: 2025-05-24T09:38:38.147Z (about 1 year ago)
- Language: Julia
- Size: 1.53 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EventTracker
[](https://tkf.github.io/EventTracker.jl/dev)
[](https://github.com/tkf/EventTracker.jl/actions?query=workflow%3ARun+tests)
EventTracker.jl is like
[TimerOutputs.jl](https://github.com/KristofferC/TimerOutputs.jl) but designed
to track all individual timings (events) in a thread-friendly manner. It
supports exporting the measurements as accessible data formats from standard
data analysis packages such as DataFrames.jl and Tables.jl. It is useful for
implementing custom performance analysis tool.
## Example
```julia
julia> using EventTracker
julia> function counter(n)
if n > 0
@recordinterval counter(n-1)
else
@recordpoint
println("done!")
end
end;
julia> counter(11)
done!
```
``````julia
julia> df = EventTracker.summary_dataframe()
2×9 DataFrame
Row │ ncalls time tag line file _module firstcall eventkind locationid
│ Int64 Float64? Union…? Int64? Union…? Module? UInt64 EventKin… UInt64
─────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ 11 6.01317e-5 3 REPL[2] Main 17718374492314440 EVENT_INTERVAL 139675751155888
2 │ 1 missing 5 REPL[2] Main 17718374492316350 EVENT_POINT 139675753020864
``````
## See also:
* [Profiling · The Julia Language](https://docs.julialang.org/en/v1/manual/profile/)
* [StopWatches.jl](https://github.com/tkf/StopWatches.jl):
Simple intrusive time measurements
* [TimerOutputs.jl](https://github.com/KristofferC/TimerOutputs.jl):
Formatted output of timed sections in Julia.
* [JuliaPerf/*.jl](https://github.com/JuliaPerf)