Miniconf-UK/2014/debugging profiling

From Wiki
Jump to: navigation, search

In this session I aim to go through some nice tricks that I have picked up whilst debugging and profiling workloads. Most of these have been learnt by banging my head against the desk, and would have saved me time had I known about them :-).

A lot of the material will be introductory, but I hope parts of it will be interesting for everyone.

I aim to:

  • Introduce gdb.
    • multi-threaded workloads.
    • conditional breakpoints.
    • Hooking it up to valgrind.
  • Introduce ftrace
    • Profile the kernel with "echo" and "cat". :-)
    • Using function graphs to explore how the kernel works.
  • Introduce Linux perf
    • A quick primer on how PMU sampling works.
    • Some basic tracing ("perf top", "perf record")
    • Capturing other performance events.
    • Intro to kprobes.
    • Intro uprobes. [provisional]
    • "perf script" to perform analysis.
  • Introduce LTTNG [provisional]
    • Hook it up to perf [provisional]
  • The importance of debugging information
    • Debugging a package with/without debugging info.
    • Profiling a package with/without debugging info.
Personal tools