Releases: intel/gprofiler
Releases · intel/gprofiler
1.2.22
1.2.22:
- gProfiler 1.2.22 & use self-hosted runner for heavy builds (#350)
1.2.21:
- java: Increase jattach timeout & make it configurable (#348)
- utils: fs: Use randomized path for test script (#347)
- Log arguments (#345)
- ProfileData API (#326) - big internal API change that helps making appid & app metadata consistently show up for the same app.
1.2.20:
- Improve warning log messages about failing optional features (#336)
- java: Fix regression in async-profiler (in build scripts, not using -static-* flags) (#339)
- java: Handle /tmp being noexec (on host / container) (#337)
- Don't upload logs if profile API version is v1 (#333)
- Exit with an error log if all profilers are disabled (#329)
1.2.20
1.2.19
- java: Upgrade to async-profiler 2.7 (includes J9 support)
- appids: python: Fix appids for celery - use queue name when present.
- appids: java: Allow specifying filters with
--app-id-args-filter
that'll mark arguments from the JVM commandline and put them into the appid.
1.2.18
Collect "application metadata" which are pieces of additional information attached to each stack (logically,
attached to each application). These complement us with information not present in the collapsed data itself.
1.2.17
- java: Take only the first argument of
sun.java.command
.
1.2.16
- java: Default AP safemode to 64 (was 0).
- java: Fix async-profiler "is loaded" check for cases where /tmp is a symlink.
- Support profiling JVMs where libjvm.so is marked
(deleted)
. - Improve java appids: use the
sun.java.command
system property as the appid, instead of .jar name which doesn't always exist.
1.2.15
- Improve appids mechanism for gunicorn (support processes using setproctitle)
- Improve appids mechanism for uwsgi (fix parsing issues for config files)
- Fix PyPerf (eBPF profiling) class name extraction for Python 3.10
- Show "Profiling error" stack in all error cases of process profilers (i.e py-spy failing for whatever reason)
- Show the original appid in addition to the normalized one.
- Support k8s CRI for container names extraction - we now support both Docker and CRI (containerd, cri-o).
1.2.14
- java: Strip unrelated output prefix lines "java -version" - more robust parsing of Java versions (#272)
- linux: ns: get_process_nspid() support for old kernels (pre 4.1) (#269)
- Add timeouts to run_process() invocations - make sure no processes that we run keep hanging forever (#238)
- java: Use AP timeouts & read output file upon process exit (#265)
- java: async-profiler: Set default mode to "cpu" (#267)
1.2.13
- java: Set --java-async-profiler-safemode=0 by default (#270)
- java: Add --java-async-profiler-args, allowing to send arbitrary extra args to AP (#262)
- java: Show a "profiling skipped" stack when profiling is skipped for a process (#263)
- docs: Improve & organize installation docs, add Databricks (#261)
- java: Upgrade async-profiler to v2.6g1 (#264)
- python: pyperf: Restart PyPerf if it fails (#266)
1.2.12
- python: Include modules version info in each frame.
- Add a dummy frame that includes the "app id": extra information beyond the "process name" which is the first frame.
- For Python, it may include the script name / executed module.
- For Java, may include the jar name.
- For some frameworks, different options exist.
- Terminate child processes upon gProfiler death via PDEATHSIG. Useful for abnormal deaths where long-running processes such as
perf
can leak. - python: Upgrade PyPerf to fix native stacks on <5 kernels.
- java: Expand --java-safemode option into a mask of options instead of one flag.
- java: Enable profiling on JDK 17 (when safemode is on).
- java: Disable profiling upon proc_events fatal signal exits.
- Improve samples scaling & merging logic.