Support crate for rustc's self-profiling feature
This crate is maintained by the Rust compiler team and in particular by the self-profile working group. It is currently only meant to be used within rustc itself, so APIs may change at any moment.
measureme is the core library which contains a fast, efficient framework for recording events and serializing them to a compact binary format. It is integrated into rustc via the unstable -Z self-profile flag.
summarize produces a human readable summary of measureme profiling data.
It contains two main modes:
summarizewhich groups the profiling events and orders the results by time taken.diffwhich compares two profiles and outputs a summary of the differences.
stack_collapse reads measureme profiling data and outputs folded stack traces compatible with the Flame Graph tools.
flamegraph reads measureme profiling data and outputs Flame Graph.
crox turns measureme profiling data into files that can be visualized by the Chromium performance tools.
mmedit is for editing .mm_profdata files generated by measureme.
mmview is for printing the event data generated by measureme.
analyzeme is a library with common functionality for measureme tools.
decodeme holds the decoding definitions of the profiling event data from measureme.
- Bump version of
measureme,decodemeandanalyzemecrates in the rootCargo.tomlfile- Update both
workspace.versionandworkspace.dependencies.[analyzeme/decodeme/measureme].version
- Update both
- Update changelog with latest changes
- You can use
https://github.com/rust-lang/measureme/compare/<last-released-tag>...masterto see what has changed since the last released tag
- You can use
- Merge a PR with the changes above (e.g. #240)
- Create a git tag based on the merged PR, and push it
- Create a GitHub release manually based on that tag, CI will then take care of publishing the crates