## Memo - Microsoftの研究グループ。[STEAM: Observability-Preserving Trace Sampling - Microsoft Research](https://www.microsoft.com/en-us/research/publication/steam-observability-preserving-trace-sampling/) ## Memo LLM https://claude.ai/chat/1918568b-3318-4050-b837-d108e1311230 ## Abstract 分散システムやマイクロサービスアプリケーションにおいて、トレースは内部状態を把握するために採用される重要な観測信号です。分散トレースに関連するオーバーヘッドを軽減するために、ほとんどのトレースフレームワークは、トレースのサブセットのみを保持する均一なサンプリング戦略を利用しています。しかし、このアプローチはシステムの観測性を維持するには不十分です。これは主に、実際のトレースのロングテール分布に起因しており、サンプリング後に少数でありながら重要なトレースの省略や希少性が生じる。本研究では、[[Observability|可観測性]]を保持するトレースサンプリング手法を導入し、STEAMと呼ぶ。トレース表現にはグラフニューラルネットワーク([[Graph Neural Network|GNN]])を採用し、論理節を通してトレース比較のドメイン知識を取り入れる。その後、トレースのサンプリングにスケーラブルなアプローチを採用し、相互に異なるトレースを重視する。STEAMは[[OpenTelemetry]]の上に実装されており、約1.6K行のGolangコードと2K行のPythonコードで構成されています。4つのベンチマークマイクロサービスアプリケーションと本番システムでの評価により、ベースライン手法と比較して、我々のアプローチの優れた性能が実証された。さらに、STEAMは15,000のトレースを約4秒で処理できます。