jreleaser-jfr

This extension provides integration with Java Flight Recorder. It registers a WorkflowListener, triggering JFR events as a result.

GAV Coordinates

org.jreleaser.extensions:jreleaser-jfr-extension:1.1.0
  • YAML

  • TOML

  • JSON

  • Maven

  • Gradle

extensions:
  jreleaser-jfr:
    enabled: true
    gav: org.jreleaser.extensions:jreleaser-jfr-extension:1.1.0
[extensions.jreleaser-jfr]
  enabled = true
  gav = "org.jreleaser.extensions:jreleaser-jfr-extension:1.1.0"
{
  "extensions": {
    "jreleaser-jfr": {
      "enabled": true,
      "gav": "org.jreleaser.extensions:jreleaser-jfr-extension:1.1.0"
    }
  }
}
<jreleaser>
  <extensions>
    <jreleaser-jfr>
      <enabled>true</enabled>
      <gav>org.jreleaser.extensions:jreleaser-jfr-extension:1.1.0</gav>
    </jreleaser-jfr>
  </extensions>
</jreleaser>
jreleaser {
  extensions {
    jreleaser-jfr {
      enabled = true
      gav = 'org.jreleaser.extensions:jreleaser-jfr-extension:1.1.0'
    }
  }
}

Configuration Properties

Name Type Description

continueOnError

boolean

Halt execution on failure if false, continue if true.

Usage

You must activate JFR before running JReleaser, the easiest way is to set JFR flags using the $JAVA_OPTS environment variable, such as

$ export JAVA_OPTS="-XX:StartFlightRecording=dumponexit=true"
You may need to set JFR flags in a different way if you’re using the JReleaser Maven Plugin or the JReleaser Gradle Plugin.

You’ll find JFR recordings inside out/jreleaser/jfr (CLI, Ant), target/jreleaser/jfr (Maven), or build/jreleaser/jfr (Gradle).

Events

The following JFR events may be triggered by this extension:

Type Description

AnnounceEvent

Triggered when an announcer starts/ends/fails.

AssembleEvent

Triggered when an assembler starts/ends/fails.

CatalogEvent

Triggered when a catalog starts/ends/fails.

DeployEvent

Triggered when a deployer starts/ends/fails.

DistributionEvent

Triggered when an announcer starts/ends/fails.

DownloadEvent

Triggered when a downloader starts/ends/fails.

PackagerEvent

Triggered when a packager starts/ends/fails.

ReleaseEvent

Triggered when the releaser starts/ends/fails.

SessionEvent

Triggered when the executing session starts/ends/fails.

UploadEvent

Triggered when a uploader starts/ends/fails.

WorkflowStepEvent

Triggered when a workflow step starts/ends/fails.