# ゼロコード計装 ## 定義 ゼロコード計装(zero-code instrumentation)は、アプリケーションのソースコード変更・再コンパイル・再デプロイなしにテレメトリデータを収集する手法の総称である。実装方式は大きく 2 系統に分かれる: 1. **eBPF ベース**: カーネル/ネットワーク層のフックでシステムコールやネットワーク I/O を傍受する。[[OBI]](OpenTelemetry eBPF Instrumentation)、[[DeepFlow]]、[[ChainScope]] 等。言語非依存だがカーネル 5.8 以上・BTF が必要。 2. **言語ランタイムベース**: Java エージェント、.NET CLR プロファイラ、Python の `sys.setprofile` 等、言語固有のフックで計装する。[[OpenTelemetry]] の言語別自動計装 SDK がこの系統。 いずれも「開発者がトレースポイントを手動でコードに追加する」手動計装(manual instrumentation)を不要にし、計装の参入障壁を下げる。 ## 横断的知見 - **eBPF 系と言語ランタイム系は相補的であり排他的でない**: [[OBI]] は「カスタムスパン、アプリケーション固有属性、ビジネスイベント」が必要な場合は言語エージェントとの併用を推奨する(Source: [[@2026__OTelDocs__OBI - OpenTelemetry eBPF Instrumentation]])。一方、Smith SREcon22([[@2022__SREcon22 Americas__Dark Sky Camping - Reducing Alert Pollution with Modern Observability Practices]])は Java エージェントによる自動計装に 4 時間で移行した事例を報告しており、言語ランタイム系は導入速度の面で優位。eBPF 系はコンパイル言語(Go・Rust・C/C++)で言語ランタイムフックが使えない場面で特に有効。 - **ゼロコード計装は「計装層で情報を絞る」テーゼの最上流に位置する**: 博士論文([[@2025__Kyoto University__Scaling Telemetry Workloads in Cloud Applications - Techniques for Instrumentation, Storage, and Mining]])が述べた「計装層と分析層の両端で文脈を使って絞る」設計指針において、ゼロコード計装はアプリケーション開発者の介入なしに計装を投入する点で「計装のデモクラタイゼーション」であると同時に、eBPF フックの選択やサンプリング率で収集量を制御する点で「最上流フィルタ」でもある。 - **日本コミュニティではトレースが最多シグナル(93%)であり、ゼロコード計装の普及が寄与している可能性がある**: 国際パターン(メトリクス首位)と異なり日本ではトレースが 93% で首位(Source: [[@2026__OTelBlog__Japanese Community Survey]])。OTel の言語エージェント自動計装がトレースの導入障壁を下げた結果と推測される。 ## 未解決の問い - eBPF 系ゼロコード計装(OBI)と言語ランタイム系自動計装を併用した場合のスパン重複やオーバーヘッドの影響はどこまで評価されているか。 - GenAI プロバイダ API のゼロコード計装(OBI の OpenAI/Anthropic/Gemini 対応)は、[[GenAI オブザーバビリティ]]の OpenTelemetry セマンティック規約とどこまで整合しているか。 - コンパイル言語(Go・Rust)の eBPF 計装は、最適化によるシンボル除去やインライン展開でどこまで精度が劣化するか。 ## 関連 - 概念: [[eBPF]] / [[動的計装]] / [[暗黙のコンテキスト伝搬]] / [[テレメトリ]] / [[オブザーバビリティ]] - エンティティ: [[OBI]] / [[OpenTelemetry]] / [[DeepFlow]] / [[ChainScope]] - 関連 MOC: [[AI Infra Telemetry - MOC]] ## 出典 - [[@2026__OTelDocs__OBI - OpenTelemetry eBPF Instrumentation]] - [[@2026__eunomia.dev__eBPF × AI-LLMs - The Convergence of System Observability and AI]] - [[@2025__Kyoto University__Scaling Telemetry Workloads in Cloud Applications - Techniques for Instrumentation, Storage, and Mining]]