やりたいこと
Spring Native の公式ドキュメントで紹介されている Tracing Agent を使ってみたい。
Environment
- Java: 22.1.0.r17-grl
- SDKMAN: 5.15.0
- GraalVM: 22.1.0 Java 17 CE (Java Version 17.0.3+7-jvmci-22.1-b06)
GraalVM のインストール
sdk list java
- GraalVM に対応した java のインストール
sdk install java 22.1.0.r17-grl
- native-image のインストール
gu install native-image
- Path がインストールしたバージョンになっているか確認
echo $JAVA_HOME echo $PATH
Tracing Agent とは
Tracing Agent は、 Native Image ではない状態で実行されているアプリケーション(つまり JVM で動作しているアプリケーション)の動作を観察することによって、Native Image に必要な設定ファイルを生成する。
具体的には、Tracing Agent のフラグを立てた状態でアプリケーションを立ち上げ、実際にアプリケーションを動作させることで、Tracing Agent にアプリケーションの動作を観察させる。Tracing Agent はその観察の結果、実際に Native Image で使用できる json ファイルを生成する。
使用手順
具体的な使用手順は、GraalVM の公式ドキュメントを参照されたし。
以下はざっくり手順。
- アプリケーションの jar ファイルを作成する
- Tracing Agent のフラグを立てて、アプリケーションを起動する
- (もし Web アプリなら)Postman などで アプリケーションに対して通信してみる
- コマンドに指定したパスに Native Configuration ファイルが生成される