Skip to content
Vladimir Panteleev edited this page Sep 13, 2021 · 5 revisions

Welcome to the Very Sleepy wiki!

This wiki is the official Very Sleepy documentation, which anyone can edit.

For general information about Very Sleepy, see below. For other topics, see the page list in the side bar to the right.

Description

Very Sleepy is a sampling CPU profiler. To clarify:

  1. Very Sleepy profiles CPU usage, i.e. it tries to find which parts of a program spend the most CPU time executing.

  2. CPU profilers can be roughly divided in two categories, according to their modus operandi:

    a. Instrumenting profilers work by modifying the program before it is executed. This can be done at the source level, or after compilation (e.g. Valgrind). The advantages of instrumenting profilers is that they can gather exact information on how many times any function was called, or which functions call which functions exactly.

    b. Sampling profilers work by periodically inspecting the profiled program's state. This is usually done by attaching to the program as a debugger would, and periodically recording each thread's stack traces. The advantages of sampling profilers is that they do not require modifying the program code before it is executed, and the results better statistically reflect which portions the program spends time in (due to not adding inconsistent overhead to small functions). Very Sleepy is a sampling profiler.

Basic usage

After starting Very Sleepy, you can choose whether to profile an existing process (by selecting it from the list), or start and profile a new process (using the FileLaunch... menu entry).

Once profiling is finished (whether due to the process exiting, the indicated time limit being exceeded, or the user clicking the Stop button), Very Sleepy will display the results. See the User Interface page for detailed information about the results window.

The collected profiling information can be saved to a .sleepy file using the FileSave As... menu entry, loaded from a .sleepy file using the FileOpen... menu entry, or exported to a CSV file using the FileExport as CSV... menu entry.

Further information

For information on more advanced subjects, see the full listing of pages on this wiki (at the top right of this page).

Support

Very Sleepy questions or problem reports can be submitted by filing a GitHub issue.

Clone this wiki locally