Skip to content
A tool to take call stack traces with minimal overheads
C++ CMake
Branch: master
Clone or download

Latest commit

yoshinorim Merge pull request #10 from cdown/sigcont_msg
Fix inverted message when SIGCONT is taking its sweet time
Latest commit b5fd4c0 Aug 22, 2018

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
licenses
.gitignore
CMakeLists.txt
README
quickstack.cc
quickstack.h

README

quickstack is a tool to take call stack traces with minimal overheads.

There are a couple of tools to take stack traces such as gdb, pstack, but these tools
have serious overheads. In many cases, target process stops for 0.2-N seconds.
So it is dangerous to use such tools in production environment.
quickstack makes it possible to take stack traces in less than 1 milliseconds. This is
much smaller overhead so you can frequently take stack traces in production environment.

quickstack internally scans stack frames and guesses caller functions.
For 64bit applications, it is highly recommended to build with -fno-omit-frame-pointer.

How to build:
* Install binutils 2.22+ and elfutils-libelf-devel
* Install cmake
* cmake .
* make
* make install

Install dependencies (Ubuntu):
sudo apt-get install binutils-dev
sudo apt-get install libelf-dev
sudo apt-get install libiberty-dev


Example:
[user$] quickstack -f -p `pidof mysqld`

License: BSD 3-Clause License
You can’t perform that action at this time.