Compatibility Changes
The database schema has changed. Migrations must be applied when upgrading from a previous version of Perforator.
Features
- (Agent) Added basic support for ARM (beta) (3fd18c0)
- (Agent) Added support for AMD BRS (c9029a5)
- (CLI) Added support for text format output (ab5ecc2)
- (Language support) Added support for PHP unwinding (65c4fd2)
- (Microscopes) Added support for per-service microscopes (8e0a7f3)
- (Microscopes) Added basic support for custom profile operations (beta)
- (Proxy) Added optional stack sampling support for profiles on merge (f13013a)
- (UI) Added a Tour of the UI (73ffdf4)
- (UI) Added suggestions for environment variables (eb7e744)
- (UI) Added support for left-heavy sorting of frames in the viewer (8f342d9, f021457)
- (UI) Improved tooltips with highlighting (11a9e73)
Fixes
- (Language support) Fixed incorrect caching of interpreter frames during rendering when addresses accidentally match; this was observed on CPython CodeObject (0bfc3bc)
- (Language support) Fixed an issue where functions were cached by name only during profile building, which caused incorrect paths for Python's
<module>(dc3c21d) - (Agent, Proxy) Fixed base address calculation (d151cdd, 3d8bbe7)
- (Agent) Fixed DWARF unwinding when inside a PID namespace (965525d)
- (Agent) Fixed a failure during unwind table building when .eh_frame contained overlapping FDEs (267e630)
- (Agent) Fixed leakage of collected TLS variable values between processes (5f8885c)
- (Agent) Disabled JVM-specific logic unless a process has a libjvm.so mapping (bd17293)
- (Storage) Fixed an issue where storage would only accept one event type for an extended period due to a shared sampler counter (5506995)
Improvements
- Python stack merging can now be disabled (424b6a0)
- Added support for Rust demangling (701231b, aa81efc)
- Switched to a round-robin connection strategy for ClickHouse (2a8f4e8)
Documentation
- Added documentation for ELF address conversions (d151cdd)