This application is a work in progress. It allows capturing performance-related information from different sources and presenting the collected information graphically.
Important notes
- For the time being, please use this application with the McCLIM version at https://github.com/scymtym/mcclim (“master” branch).
- For the time being, only SBCL and only certain versions are supported.
- Load the application with
(asdf:load-system :clim.flamegraph.sbcl-defaults)
- Start the application with
(clim.flamegraph.application:launch)
Then either record performance information using the graphical application or see examples/trace-recording.lisp for programmatic recording.
When using the graphical application
- Add sources by typing the
Add Source
command or click the “Recording” configuration. - Some sources only consider explicitly configured threads. To configure threads, click on elements of the thread list. The configuration view will indicate which sources are restricted to the selected threads.
- Use the “Start Recording” and “Stop Recording” buttons to create a run.
- <glossary:run> run
- A run is a collection of coherent traces,
usually collected in a single profiling session.
A run can contain traces for multiple threads.
- <glossary:trace> trace
- A trace is a snapshot of a thread’s execution state (i.e. stack trace) at a given time. It is an ordered sequence of samples describing the stack of active function invocations.
- <glossary:sample> sample
- A sample is a representation of an active function invocation in a given thread at a given time.
- <glossary:node> node
- <glossary:region> region