埋め込みオブザベーション
埋め込みオブザベーションとは、データ収集および監視機能をアプリケーションの実行コードまたはユーザーインターフェースに直接統合するプラクティスを指します。外部ロギングや定期的なポーリングとは異なり、埋め込みオブザベーションは、システムのワークフロー内でイベントが発生した際に、きめ細かなコンテキストデータをキャプチャします。
このアプローチは、監視を事後的な考慮事項から、ソフトウェア設計の固有の部分へと移行させ、様々な条件下でのアプリケーションの動作に関する深くリアルタイムな洞察を提供します。
複雑で分散化されたシステムでは、従来の監視は高レベルのビューを提供するに留まることがよくあります。埋め込みオブザベーションは、必要な深さを提供します。これにより、開発者や運用チームは、単一のユーザージャーニーやトランザクションを複数のマイクロサービスを横断して追跡し、障害やパフォーマンス低下の正確なポイントを特定できます。
このレベルの詳細は、プロアクティブなメンテナンス、リソース割り当ての最適化、一貫した高品質なユーザーエクスペリエンスの確保に不可欠です。
このメカニズムは、クリティカルな接点においてコードに「インストルメンテーション」(instrumenting)を行うこと、つまり特定のフックやエージェントを追加することを含みます。定義されたイベントが発生したとき(例:API呼び出しが完了した、データベースクエリが実行された、UI要素がクリックされた)、インストルメンテーションされたコードは関連するメタデータ(タイムスタンプ、レイテンシ、入力パラメータ、エラーコード)をキャプチャし、このデータを集中的なオブザーバビリティプラットフォームにストリーミングします。
このデータストリームは、ダウンストリームの分析ツールによって即座にクエリ可能で実行可能であることを保証するために、構造化されていることがよくあります(例:JSONを使用)。
この概念は、メトリクス、ログ、トレースを包含するフルオブザーバビリティと密接に関連しています。これは、単にイベントを記録するのではなく、構造化された実行可能なテレメトリに焦点を当てているため、単純なロギングとは異なります。