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 - [email protected]