extern crate pyroscope;
use pyroscope::backend::Backend;
use pyroscope::Result;
use pyroscope_pprofrs::{Pprof, PprofConfig};
fn fibonacci(n: u64) -> u64 {
match n {
0 | 1 => 1,
n => fibonacci(n - 1) + fibonacci(n - 2),
}
}
fn main() -> Result<()> {
let backend_config = PprofConfig::new().sample_rate(100);
let mut backend = Pprof::new(backend_config);
backend.initialize()?;
fibonacci(45);
let report = backend.report()?;
dbg!(report);
Box::new(backend).shutdown()?;
Ok(())
}