Releases: intel/gprofiler
Releases · intel/gprofiler
1.2.3
- Build gProfiler as an Aarch64 executable
1.2.2
- Python: upgrade py-spy to v0.3.10 and PyPerf to v1.1.2
- Java: upgrade to async-profiler v2.5 and allow using CPU mode with
--java-async-profiler-mode=cpu. - Disable PHP profiling by default (pass
--php-mode phpspyto enable). - Write metadata & metrics to local output files (in
--output-dirmode). - Limit the remote logs buffer size (avoid buffer growth if logs aren't being uploaded).
- Ruby & Python: improve removal handling of temporary files.
1.2.1
- Upgrade to py-spy 0.3.9
- Get process comm from
/proc/PID/statusinstead of/proc/PID/comm(as the latter is missing in old kernels) - python: py-spy: Use SIGKILL to stop py-spy when hanging
1.2.0
- Initial Aarch64 support (as a Docker container)
- Exit with 0 if gProfiler's mutex is already taken.
- Disable profilers whose
start()method fails (instead of exiting gProfiler) - Use
/proc/pid/commas the first stack of process profiles - java: Allow skipping the JDK version check
- php: Log stderr & stdout if startup fails
- python: PyPerf: Allow passing 0 for --pyperf-user-stacks-pages
1.1.9
- Upgrade PyPerf to v1.1.1 to fix a memory leak
- Add memory usage logging to gProfiler's container (to be able to track gProfiler's total memory usage)
1.1.8
- Add metrics & metadata collection: gProfiler collects system metrics (CPU & memory utilization) & static metadata (OS version, hardware info, cloud metadata). These will augment the data displayed in the backend.
- java: Identify Java process to profile by existence of
libjvm.soin their/proc/pid/maps. - java: Allow sending detailed native samples in case there are no debug symbols; the extra data allows to add proper symbols information in the backend. Currently disabled, until backend support will be added.
- python: Add timeout to py-spy runs
- Bugfix: attempt to fix-up numerous output files situation of PyPerf (delete all & use the latest)
- Print nicer exceptions: if Python processes go down before profiling starts, if
lddis missing, if gProfiler failed to take its lock due to an error.
1.1.7
- Run
perfcontinuously - instead of re-startingperfeach profiling session, we now run it continuously and request it to dump data each session (improves accuracy & performance) - Preliminary NodeJS support - this requires running your Node app with some extra flags, and to add
--nodejs-mode perfto gProfiler's arguments - Native stacks for Python (PyPerf based) - PyPerf now collects native stacks (CPython runtime, library DSOs, ...) in addition to the Python stacks & kernel stacks
1.1.6
1.1.5
python, ruby: Remove collapsed files after reading (#128) * merge: Add parse_and_remove_one_collapsed() * python: Use parse_and_remove_one_collapsed() Fixes a regression: we didn't remove old collapsed files. * ruby: Use parse_and_remove_one_collapsed() Fixes same bug from Python.
1.1.4
Server Logging (#119) * Implement server logging * Use new logger adapters across project * Add server logging section to README.md * logging: allow not sending extra to server * Server Logging: Change environment variable name * ruby: use logger adapter * gprofiler: bump version