Skip to content

Commit

Permalink
Merge pull request #590 from metrico/refactor/pprof
Browse files Browse the repository at this point in the history
pprof module refactor
  • Loading branch information
akvlad authored Oct 23, 2024
2 parents 4dcd757 + e76ef87 commit 7b5edd6
Show file tree
Hide file tree
Showing 5 changed files with 2,287 additions and 571 deletions.
6 changes: 6 additions & 0 deletions pyroscope/pprof-bin/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,15 @@ flate2 = "1.0"
# code size when deploying.
console_error_panic_hook = { version = "0.1.7", optional = true }
base64 = "0.22.1"
memchr = "2.7.4"

[dev-dependencies]
wasm-bindgen-test = "0.3.34"
criterion = { version = "0.5.1", features = ["html_reports"] }

[[bench]]
name = "my_benchmark"
harness = false

[profile.release]
# Tell `rustc` to optimize for small code size.
Expand Down
18 changes: 18 additions & 0 deletions pyroscope/pprof-bin/benches/my_benchmark.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
use pprof_bin::merge_prof;
use pprof_bin::utest::get_test_pprof_data;
use criterion::{black_box, criterion_group, criterion_main, Criterion};

fn merge_bench(pprofs: &Vec<Vec<u8>>) {

for pprof in pprofs {
merge_prof(0, pprof.as_slice(), "process_cpu:samples:count:cpu:nanoseconds".to_string());
}
}

fn criterion_benchmark(c: &mut Criterion) {
let pprofs = get_test_pprof_data();
c.bench_function("merge", |b| b.iter(|| merge_bench(&pprofs)));
}

criterion_group!(benches, criterion_benchmark);
criterion_main!(benches);
Binary file modified pyroscope/pprof-bin/pkg/pprof_bin_bg.wasm
Binary file not shown.
Loading

0 comments on commit 7b5edd6

Please sign in to comment.