strax icon indicating copy to clipboard operation
strax copied to clipboard

Computation time tracker for plugins

Open JelleAalbers opened this issue 5 years ago • 0 comments

Suggested by @darrylmasson:

does strax have a nice way of communicating which plugin is the bottleneck? Pax had that table at the end of a run, it seems like a very useful thing to have especially during commissioning.

This would be nice to add. You can already run strax in profiling mode:

with strax.profile_threaded('my_run.prof'): df = st.get_df(run_id, 'event_info')

This produces my_run.prof, which you can visualize in snakeviz, and will give you much more detailed information than just which plugin is the bottleneck. You'll also get some info on what fraction of the time the GIL was held. But profiling itself does slow things down, and I would guess it does not work while multiprocessing (getting it to work with multithreading was tricky enough).

JelleAalbers avatar Dec 18 '19 14:12 JelleAalbers