Skip to content

Latest commit

 

History

History
74 lines (60 loc) · 3.68 KB

profiling.md

File metadata and controls

74 lines (60 loc) · 3.68 KB

Profiling

Native (C/C++) and Python (relevant for me now, maybe extend later) (native maybe enough initially, Python support can maybe be added).

Also see debugging.

Most importantly Linux. Probably this is platform dependend. MacOSX has DTrace. (Windows has UIforETW. See the randomascii blog.)

Common situations:

  • Some process behaves strange, is much slower than usual, or totally hangs. I want to see, where does it hang.

Features I want:

  • Be able to attach live to running process, without preparation.

  • Multi-threading support. Although in many cases I'm mostly interested in the main thread (or one specific thread). Some more clever handling would be nice (although not sure how easy), e.g. if that (main) thread is hanging at a mutex, I would want to see which thread has the mutex currently, and what that thread is doing. But this can maybe also be configurable and simple, such that it just prints the threads which names match to some regexp.

Existing software:

Some useful StackOverflow questions:

Other refs: