All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Handle potentially unaligned frame pointer (#217)
- Fix the register field name according to libc (#218)
- Support building
pprof-rs
forandroid
target (#202) - Support building
pprof-rs
forfreebsd
target (#213)
- Upgrade
criterion
to 0.5 (#212) - Bump the MSRV to 1.64.0 (#204)
- Hide
perf_signal_handler
frames on macOS (#207)
- Support RISC-V architecture (#169)
- Support LoongArch64 architecture (#174)
- Use a globally shared pipe to validate memory to avoid FD leak (#198)
- Upgrade prost 0.11 (#166)
- Upgrade criterion from 0.3 to 0.4 (#163)
- Restart syscalls interuppted by SIGPROF when possible (#167)
- Only do per-frame-blocklist-check when frame-pointer is enabled (#172)
- Update
MAX_DEPTH
to 128 (#159)
- Fixed clippy warnnings and ignore prost mod (#160)
- Remove
backtrace-rs
feature, as the default choice when not specified (#130)
- Add
sample_timestamp
to Frames and UnresolvedFrames in order to have more fine-grained info on when the samples are collected (#133)
- Export
UnresolvedReport
type to allow developers to get the unresolved report (#132)
- Protect the error number in signal handler (#128)
- Add
frame-pointer
feature to unwind the stack with frame pointer (#116)
- The user has to specify one unwind implementation (
backtrace-rs
orframe-pointer
) in the features (#116)
- Update prost from 0.9 to 0.10 (#113, #114, #115)
- Fix pthread_getname_np not available on musl (#110)
- Add rust-protobuf support by adding protobuf-codec features (#106)
- protobuf feature is renamed to prost-codec to align all other tikv projects (#106)
- implement
Clone
forProfilerGuardBuilder
@yangkeao - Add thread names and timing information to protobuf reports @free
blocklist
to skip sampling in selected shared library @yangkeao
- Fix memory leak in collector of samples @yangkeao
- Bump prost* to v0.9.0 @PsiACE
- Bump nix to v0.23 @PsiACE
- Bump version of prost* @PsiACE
- Fix the lifetime mark is not used by criterion output @yangkeao
- Change the output paths for
criterion::PProfProfiler
to support benchmark groups @yangkeao
- Bump nix to v0.20 @yangkeao
- Implement criterion profiler @yangkeao
- Fix compilation error on arm architecture @yangkeao
- Allow passing custom flamegraph options @yangkeao
- Fix flamegraph inline functions @yangkeao
- Bump version of prost* @xhebox
- Bump rand to v0.8 @dependabot
- Bump nix to v0.19 @dependabot
- Split
symbolic-demangle
into multiple features @yangkeao
- Ignore SIGPROF signal after stop, rather than reset to the default handler @yangkeao
- Add
Report::build_unresolved
@umanwizard
- Change from
&mut self
to&self
inRpoertBuilder::build
@umanwizard
- Support cpp demangle @yangkeao
- Filter out signal handler functions @yangkeao
- Fix protobuf unit @yangkeao
- Don't get lock inside
backtrace::Backtrace
@yangkeao
- Export
prost::Message
@yangkeao
- Only use thread name on linux and macos @yangkeao
- Disable
#![feature(test)]
outside of tests @kennytm
- Stop timer before profiler stops @yangkeao
- Support profobuf output @lonng
- Change crate name from
rsperftools
topprof-rs
@yangkeao
- Use less stack space @yangkeao
- Seek to the start before reading file in
TempFdArray
@yangkeao
- Support customized post processor for frames @yangkeao
- Fix deadlock inside the
std::thread::current().name()
@yangkeao
- Avoid calling
malloc
inside the signal handler @yangkeao
- Implement
Send
forSymbol
@yangkeao
- Add log @yangkeao
- Stop signal handler after processing started @yangkeao
- Check whether profiler is running when starting the profiler @yangkeao