-
Enhancement
-
Resolution: Fixed
-
P5
-
None
-
b23
-
linux
When using the Linux "perf" tool to do system profiling, symbol names of running Java methods cannot be decoded, resulting in unhelpful output such as:
10.52% [JIT] tid 236748 [.] 0x00007f6fdb75d223
Perf can read a simple text file format describing the mapping between address ranges and symbol names for a particular process:
https://github.com/torvalds/linux/blob/master/tools/perf/Documentation/jit-interface.txt
It's possible to generate this already for Java processes using a JVMTI plugin, e.g. with https://github.com/jvm-profiling-tools/perf-map-agent . However this requires compiling third-party code and then loading the agent into your Java process. It would be more convenient if Hotspot could write this file directly using a diagnostic command. The information required is almost identical to that of the existing Compiler.codelist command.
10.52% [JIT] tid 236748 [.] 0x00007f6fdb75d223
Perf can read a simple text file format describing the mapping between address ranges and symbol names for a particular process:
https://github.com/torvalds/linux/blob/master/tools/perf/Documentation/jit-interface.txt
It's possible to generate this already for Java processes using a JVMTI plugin, e.g. with https://github.com/jvm-profiling-tools/perf-map-agent . However this requires compiling third-party code and then loading the agent into your Java process. It would be more convenient if Hotspot could write this file directly using a diagnostic command. The information required is almost identical to that of the existing Compiler.codelist command.
- csr for
-
JDK-8255383 Add -XX:+DumpPerfMapAtExit to write Linux perf map file on VM shutdown
-
- Closed
-
- relates to
-
JDK-8327054 DiagnosticCommand Compiler.perfmap does not log on output()
-
- Resolved
-
-
JDK-8316286 Add diagnostic command to write Linux perf jit dump file
-
- Open
-