Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8254723

Add diagnostic command to write Linux perf map file

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P5 P5
    • 16
    • None
    • hotspot
    • svc
    • 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.

            ngasson Nick Gasson
            ngasson Nick Gasson
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: