4 releases
new 0.1.0 | Feb 10, 2025 |
---|---|
0.0.3 |
|
0.0.2 | Dec 8, 2024 |
0.0.1 | Dec 1, 2024 |
0.0.0 | Nov 28, 2024 |
#152 in Profiling
38 downloads per month
Used in scuffle-bootstrap-telemet…
11KB
69 lines
scuffle-pprof
[!WARNING]
This crate is under active development and may not be stable.
A crate designed to provide a more ergonomic interface to the pprof
crate.
Example
// Create a new CPU profiler with a sampling frequency of 1000 Hz and an empty ignore list.
let cpu = scuffle_pprof::Cpu::new::<String>(1000, &[]);
// Capture a pprof profile for 10 seconds.
// This call is blocking. It is recommended to run it in a separate thread.
let capture = cpu.capture(std::time::Duration::from_secs(10)).unwrap();
// Write the profile to a file.
std::fs::write("capture.pprof", capture).unwrap();
Analyzing the profile
The resulting profile can be analyzed using the pprof
tool.
For example, to generate a flamegraph:
pprof -svg capture.pprof
Status
This crate is currently under development and is not yet stable.
Unit tests are not yet fully implemented. Use at your own risk.
License
This project is licensed under the MIT or Apache-2.0 license. You can choose between one of them if you use this work.
SPDX-License-Identifier: MIT OR Apache-2.0
Dependencies
~8–20MB
~310K SLoC