libizumi is a multi-format instruction pipeline dump parser library. If you want to visualize traces, you may be interested in Izumi-visualizer/izumi_tui, the reference frontend.
Note
The library is still under development and some format features may not work properly.
| Format | Versions | Reference | Status |
|---|---|---|---|
| Onikiri2-Kanata | v4 | kanata-log-format.md | Everything but threads, lanes, tooltip labels, and dependencies works, full support is planned |
| Gem5-O3PipeView | ? | o3-pipeview.py | Planned |
- Format and frontend agnostic, aiming to allow parsers and visualizers to be developed independently.
- Pure C implementation and dependency-free.
- Built with the autotools for easy packaging and integration.
- More coming soon:
- More formats with complete support
- Out-of-tree format plugins
- Asyncronous file parsing
- Transparent compression support
- Hot reloading of trace files
make(build only)autotools(build from source only, not needed in distribution packages)doxygen(optional, for generating documentation)
If you cloned the repository instead of downloading a distribution package, start by generating the build system:
autoreconf --installWith the configure script available, you can follow the traditional mantra:
mkdir build && cd build # Any path supported!
../configure
make
(sudo) make installSome intersting configure flags:
--disable-doxygen-docto avoid generating documentation--enable-sanitizersto enable ASAN (not recommended if you aren't actively developing Izumi!)--helpto see more options!
A nix derivation and flake for the library are available. Using the flake system to pin the commit of the library is highly recommended.
After running make, you will find the HTML docs and man pages in the docs/out subdirectory of the build tree. make install will also install the man pages to your system. If no documentation is generated, ensure that you have doxygen installed and rerun the configure script before rebuilding.
