Flamegraphs are standard profiling tools in both industry and academia used to visualize large amounts of performance data. Existing flamegraphs are two dimensional, which limits them to showing one metric at once. This project, EasyFlame, is a performance analysis framework based on 3D flamegraphs. EasyFlame extends existing approaches through its inclusion of an extra dimension that shows how a metric changing across time.
1: Visit https://www.xperflab.org/web/
2: nagivate to '3D View' and then 'Example 3D view'
3: Application will open. Open collapsable open panels to utilize multimetric analysis features.
Note: Due to cookie cache, visiting in an incognito browser will ensure the latest update is loaded.
Build instructions: (run these commands)
- clone repo and enter the 'rustBuild' folder
- rustup install 1.30.0
- cargo install --locked trunk
- trunk serve --release
- navigate to http://127.0.0.1:8080/web in an incognito browser window
Contributions are what make the open source community such an amazing place. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
main - used to coordinate build options app - interactable application app_widgets - widgets used in the interface app_pages - use widgets to build the pages in the app cube_painter - WebGL interface for painting cubes data - processed data into verticies tree - input file into processed data ui_helper - ui functions for interactivity shaders - simple triangle shaders for rendering the cubes show and copy text from inspector view toggle to display all text for nodes in inspector drag and drop files to load data generate and display stacktrace upon selecting a node option to color stacktraces hue based on thier overall trend tword a metric seperate flamegraphs more and add a slider to traverse between them on high division splits, cap divisions at ~10 pixels wide and add a scroll bar on the overveiw TBD
Alex Boots - alexjboots@gmail.com