# Kieker [[Wilhelm Hasselbring]] らが Christian-Albrechts-Universität zu Kiel で開発した Java 向けオープンソース監視フレームワーク。計装レコード言語(IRL: Instrumentation Record Language)に基づく拡張可能な設計が特徴。[[MooBench]] マイクロベンチマークはもともと Kieker のオーバーヘッド計測のために開発された。 GitHub: `kieker-monitoring/kieker`(108 スター) ## 設計上の特徴 - **コールツリー表現**: eoi(execution order index)と ess(execution stack size)をスレッドローカル変数に格納。スタックのコピーが不要で効率的 - **時刻取得**: `SystemNanoTimer`(System.nanoTime ベース)を 2 回/メソッド(最小構成) - **メタデータ**: Byte Buddy の `Advice.Origin` からシグネチャを直接取得。反射不要 - **キュー**: `MpscArrayQueue`。書き込みスレッドが 1 スパンずつ送信 ## 性能(MooBench ICPE 2026) 7 フレームワーク中最低のオーバーヘッドを達成(x86_64 Binary file: 1,383 ns/call、傾き 133.92 ns/depth)。OpenTelemetry(315.28 ns/depth)の約 2.4 倍低い傾き。ただしキュー書き込み待ち(`BlockingQueueDecorator.offer`)が実行時間の相当部分を占める(Figure 11 フレームグラフ参照)。 ## 関連 - [[Wilhelm Hasselbring]] / [[David Georg Reichelt]] / [[MooBench]] / [[トレーシングオーバーヘッド]] / [[分散トレーシング]]