# 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]] / [[トレーシングオーバーヘッド]] / [[分散トレーシング]]