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:
summarize
which groups the profiling events and orders the results by time taken.diff
which 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
,decodeme
andanalyzeme
crates in the rootCargo.toml
file- Update both
workspace.version
andworkspace.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>...master
to 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