Systing has grown a variety of features over the last month, the coolest thing is Jonathan Wiepert’s integration of Strobelights BPF based python stack support. You can now get perf-style python stack traces with systing. This integrates into the whole stack, so if you have native code the python calls into you will get the python part and the native stack combined properly.

Some other more advanced features have been added. The ability to specify a trigger event and then continuously trace until the event occurs was added for finding rare events. Systing will buffer N seconds of trace and dump the trace on the trigger event, keeping the trace file small.

I’ve also fleshed out the event context configuration so you can specify arguments to collect from trace events or kprobe/uprobe to more information in the trace. This is very basic right now as it only allows for one argument and it attaches the value to the event name, but this will be fleshed out later to be included in a context track and allow for multiple values.

You can clone and build from the repo, there’s always changes going in. With the python stack support being merged I feel comfortable moving towards distributed packaging for wider distribution.

https://github.com/josefbacik/systing

GitHub - josefbacik/systing: A libbpf based tracer to help figure out what an application is doing.

A libbpf based tracer to help figure out what an application is doing. - josefbacik/systing

GitHub
@josefbacik Ok, so talk about this at All Systems Go incoming? I'm sure @bluca will open up the CfP just for this. :D
@brauner @bluca if you guys don’t mind the late submission I can do that, I don’t have any travel planned for that time.
@josefbacik @bluca Shared a link in a private message with you!