本文へスキップ

Spring Boot

Spring Bootを使用するアプリケーションサーバー環境でJVMオプションを追加する方法を確認してください。

JVMオプションの追加

  • Java 17バージョン以降の場合、reflection関連のJVMオプションを追加でアプリケーションを起動できます。

    # Java 17以降のバージョンに対応
    java -javaagent:{WHATAP_HOME}/whatap.agent-X.Y.Z.jar -Dwhatap.oname={Agent_Name} --add-opens=java.base/java.lang=ALL-UNNAMED -jar {application.jar}
  • 起動スクリプトにJVMオプションとして、-javaagentを追加してください。

    java -javaagent:{WHATAP_HOME}/whatap.agent-X.Y.Z.jar -jar {application.jar}

JVMオプションを追加した後、使用するSpring Bootのバージョンとエージェントのバージョンに合わせて適切なエージェント設定を進めてください。

Spring Boot 3

Spring Boot 3.0.0 バージョン以降

  • Javaエージェントv2.2.9バージョン以降(whatap.agent-2.2.9.jar)

    whatap.conf
    weaving=spring-boot-3.0
  • Javaエージェントv2.2.5バージョン以降(whatap.agent-2.2.5.jar)

    whatap.conf
    weaving=spring-boot-3.0,tomcat10
  • Javaエージェントv2.2.4バージョン以降(whatap.agent-2.2.4.jar)

    • jakarta.servlet.http.HttpServlet追跡(同期方式)

      whatap.conf
      weaving=tomcat10
    • WebClient追跡(非同期方式)

      whatap.conf
      weaving=webflux-6.0

Spring Boot 2

Spring Boot 2.7.0バージョン以降

  • Javaエージェントv2.2.9バージョン以降(whatap.agent-2.2.9.jar)

    whatap.conf
    weaving=spring-boot-2.7
  • Javaエージェントv2.2.5バージョン以降(whatap.agent-2.2.5.jar)

    whatap.conf
    weaving=spring-boot-2.7,tomcat9
  • Javaエージェントv2.2.4バージョン以降(whatap.agent-2.2.4.jar)

    WebClient追跡(非同期方式)

    whatap.conf
    weaving=webflux-5.3

Spring Boot 2.5.0バージョン以降

  • Javaエージェントv2.2.9バージョン以降(whatap.agent-2.2.9.jar)

    whatap.conf
    weaving=spring-boot-2.5
  • Javaエージェントv2.2.5バージョン以降(whatap.agent-2.2.5.jar)

    whatap.conf
    weaving=spring-boot-2.5,tomcat9
  • Javaエージェントv2.2.4バージョン以降(whatap.agent-2.2.4.jar)

    WebClient追跡(非同期方式)

    whatap.conf
    weaving=webflux-5.3

ヒープヒストグラム照会

WhaTapのJavaモニタリングでは、JVMメモリのヒープ占有オブジェクト現況(ヒープメモリ上のオブジェクト別サイズ)を照会できる機能を標準として提供します。 アプリケーション > インスタンスパフォーマンス分析メニューからヒープヒストグラムタブを選択してください。

Java 6~8バージョンでは、JVMオプションなしで標準対応しますが、一部のJavaバージョンによっては次のようにJVMオプションを適用する必要があります。

  • Java 9 ~ Java 15バージョン

    -Djdk.attach.allowAttachSelf=true
    example
    java -javaagent:{WHATAP_HOME}/whatap.agent-X.Y.Z.jar -Djdk.attach.allowAttachSelf=true -jar {application.jar}
  • Java 16バージョン以降

    -Djdk.attach.allowAttachSelf=true
    --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED
    example
    java -javaagent:{WHATAP_HOME}/whatap.agent-X.Y.Z.jar -Djdk.attach.allowAttachSelf=true --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED -jar {application.jar}
ノート

Java 5以前の旧バージョン、IBM Javaには対応していません。

モニタリングの開始

すべての設定を完了してからアプリケーションサーバーを再起動すると、エージェントが情報収集を開始します。次の文書を確認してください。