When Lustre was first started it developed its own debugging infrastructure since at that time Lustre was multi-platform and Linux was lacking in its debugging infrastructure. Over time linux has created a robust tracing and performance accounting system that now exceeds what Lustre provides. Lustre also has evolved into an linux only product which has eliminated the barrier of adopting Linux tracepoints.
The secondary reason for this work is that the linux kernel maintainers do not like the current Lustre debugging infrastructure. While one of the goals of bringing tracepoint support to Lustre is to enable the lctl utility to seamlessly work with tracepoint so to minimize the transition for the user I like to present how and why using perf is a better option. Instructions need to be giving on how to setup an environment to maximize the usage of perf and also suggest other utilities such as the dwarf package to help enhance the debugging material available to the user. With this it will be shown that not only Lustre information can be collected but a complete stack analysis can be done. The discussion will cover pitfalls in setting it up as well. Advance features such as flame graphs will be shown and how they can be used to help diagnose problems.