Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Startup ~2x slower with AOT class linking: agent retransforms ~22k preloaded classes (JDK 25, 1.67.0)

オープン
#12,795 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

@mcculls がすでに取り組んでいます。

2026年10月8日 から。

評価

この issue はまだ評価されていません。

説明

type: bug report
Tracer Version(s)

1.67.0

Java Version(s)

Temurin 25.0.2

JVM Vendor

Eclipse Adoptium / Temurin

Bug Report

Since AOT support has been improved here:

We have been trying out fully utilizing AOT. We are able to see gains on application start time at around 60% speed improvements. We notice before the app starts though, it's slowed down significantly, leaving us with only a total 20% speed improvement overall for startup.

Some examples from our actual applications:

Before (6 Oct):
2026-10-06T22:24:00Z  Started FooApplicationKt in 13.317 seconds (process running for 15.688)   gap 2.4s
2026-10-06T22:22:47Z  Started FooApplicationKt in 14.593 seconds (process running for 17.011)   gap 2.4s
2026-10-06T22:21:54Z  Started FooApplicationKt in 14.482 seconds (process running for 17.007)   gap 2.5s
After (8 Oct):
2026-10-08T16:45:05Z  Started FooApplicationKt in 6.136 seconds (process running for 12.36)    gap 6.2s
2026-10-08T16:45:04Z  Started FooApplicationKt in 7.517 seconds (process running for 14.191)   gap 6.7s
2026-10-08T16:38:03Z  Started FooApplicationKt in 5.985 seconds (process running for 12.091)   gap 6.1s
Expected Behavior

AOT application startup speed improvements should not be negated at pre-application startup stage.

Reproduction Code

Here's a repro:
https://gist.github.com/davidgoldtempo/fdc330f67eeba5848689e8a7fd4d815c

JDK:   openjdk version "25.0.2" 2026-01-20 LTS
Agent: dd-java-agent 1.67.0
Runs:  5 per variant
Work:  /tmp/aot-startup-repro-work  (rm -rf to clean up)
Main:  org.springframework.samples.petclinic.PetClinicApplication

Training AOT caches...

=== median of 5 starts, dd-java-agent 1.67.0 ===
  (pre-spring gap = JVM uptime at 'Started' minus Spring's own startup time)
  no AOT,           no agent               spring= 3.20s  process= 3.41s  pre-spring gap= 0.21s  redefined-classes=0
  no AOT,           agent                  spring= 3.87s  process= 4.91s  pre-spring gap= 1.04s  redefined-classes=8
  AOT no-classlink, agent                  spring= 3.80s  process= 4.88s  pre-spring gap= 1.08s  redefined-classes=8
  AOT classlink,    no agent               spring= 1.14s  process= 1.36s  pre-spring gap= 0.23s  redefined-classes=0
  AOT classlink,    agent  <== SLOW GAP    spring= 1.20s  process= 3.32s  pre-spring gap= 2.12s  redefined-classes=87
主要言語
Java
スター
736
フォーク
364
平均マージ
3日 13時間
マージ済み PR(30日)
213

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

DataDog/dd-trace-java のほかの issue

DataDog/dd-trace-java の issue をすべて見る

似ている issue

Java の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。