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

[JFR] Compilation queue statistics

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 22
    • 17, 21, 22
    • hotspot
    • jfr
    • b24

      The current compilation related events don't show whether you are over/under-utilizing your compilation threads; requiring you to experiment with settings to compile as fast as possible (esp in service startup/warmup)

      Proposing the following periodic event so that you can determine the pressure on the compilation queues

      You will see one event per compiler queue: c1 and c2

      The following event definition is in the form used for metadata.xml

        <Event name="CompilerQueueUtilization" category="Java Virtual Machine, Compiler" label="Compiler Queue Utilization" period="everyChunk">
          <Field type="CompilerType" name="compiler" label="Compiler" />
          <Field type="long" contentType="hertz" name="addedRate" label="Requets Added Rate" description="Requests added per second"/>
          <Field type="long" contentType="hertz" name="removedRate" label="Requests Removed Rate" description="Requests removed per second"/>
          <Field type="long" name="queueSize" label="Queue Size"/>
          <Field type="long" name="peakQueueSize" label="Peak Queue Size"/>
          <Field type="long" name="addedCount" label="Requests Added"/>
          <Field type="long" name="removedCount" label="Requests Removed"/>
          <Field type="long" name="totalAddedCount" label="Total Requests Added"/>
          <Field type="long" name="totalRemovedCount" label="Total Requests Removed"/>
          <Field type="int" name="compilerThreadCount" label="Compiler Thread Count"/>
        </Event>

      The queues already track the size, tracking peak size and added/removed count is a minor change to the compilerBroker.
      Importantly the numberOfThreads should be the current number rather than the configured number for when the dynamic compiler threads option is being used

            macarte Mat Carter
            macarte Mat Carter
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: