Sentryに対する印象として、よく聞かれるのは「アプリケーションのエラートラッキング」です。もちろん、Webアプリケーションやモバイルアプリケーションに対してSDKをインストールするだけで使えるエラートラッキングはSentryの大きな強みです。
しかし、ここ数年でSentryに対して期待される役割が膨らんでいます。アプリケーションはエラー(例外処理)だけが問題ではなく、パフォーマンスの劣化や、複雑な操作の結果としてのエラー発生が日常的に発生します。また、エラーはアプリケーション層だけでなく、バックエンドやデータベースなども組み合わさって発生します。
そうした現実的な課題に合わせて、Sentryでは機能拡張が行われています。我々の目指すのは、アプリケーションも含めたフルスタックのオブザーバビリティサービスです。
オブザーバビリティはバックエンドだけの問題ではない
オブザーバビリティを提供するサービスは数多いですが、その多くがバックエンド(サーバーサイド)に力を入れています。サーバー自体はもちろん、ネットワークやストレージ、データベースのパフォーマンスなどを重視する傾向があります。そのため、オブザーバビリティというとインフラエンジニアのイメージがあるのではないでしょうか。
しかし、ユーザーの視点に立って考えると、パフォーマンスはサーバーサイドだけの問題ではありません。スマートフォンアプリやWebサイトで、ボタンをタップしてから表示に反映されるまでは、さまざまな処理が行われます。フロントエンドでの処理があり、データがバックエンドに送信されて、データベースなどの処理が行われた上でレスポンスを返します。フロントエンドではそのレスポンスを受け取ったあと、表示に反映します。これらの一連の流れがユーザーにとってのパフォーマンスです。
Sentryでは、フロントエンド・バックエンド双方のトレーシングが可能です。また、一連の操作をトレースIDというユニークなIDで管理できます。このトレースIDによって、フロントエンドでのイベントがバックエンドの処理につながる流れを可視化できます。その中でどこがボトルネックになっているかを可視化し、改善する際の材料にできます。
明確な不具合もパフォーマンスも一元管理
Sentryはエラートラッキングを得意としてきました。アプリケーションの中にSDKをインストールし、不具合があれば通知を受け取ったり、管理画面で確認したりできます。しかし、ユーザーにとっての不具合とは、分かりやすいエラーだけではありません。パフォーマンスの劣化によって、処理に時間を要するのもまた、不具合に感じることでしょう。
パフォーマンス測定とエラートラッキングは異なるものですが、ユーザーにとっては同義と言えます。不具合であろうとなかろうと、自分の期待した処理が行われないなら、ユーザーは不具合だと感じるでしょう。そのため、この2つのデータが異なる形で管理されていると、ユーザーの不満を取り違えてしまう可能性があります。
Sentryのオブザーバビリティでは、パフォーマンス上の問題も、不具合も同じ管理画面上で閲覧できます。パフォーマンスの問題があれば、そのトレースIDを辿って課題を発見できます。もちろん、その問題はフロントエンド・バックエンドのどちらでも追跡可能です。
AIへの対応
Sentryでは、AI(LLM)についてもオブザーバビリティ対応が進められています。以下の3つが特徴です。
AIエージェント監視
AI(LLM)のエンドポイントを監視する機能です。AIは一時的なAPIエラーはもちろん、レート制限によって失敗することがあります。サービスに追加したチャット機能や検索、要約機能などが使えなくなるパターンです。
SentryのAIエージェント監視機能は、こうした障害を発見し、即座に通知する機能です。
AIエージェントのトレースとパフォーマンス
AIエージェントで何か問題が起きた際に備えて、エージェント実行状況を可視化します。プロンプトはもちろん、モデルの呼び出しや出力などをユーザーアクションと紐づけてトレースし、失敗の原因を即座に理解できるようになります。
Sentryを使うことで、AI機能をユーザーにとって高速、かつ信頼性の高い状態に保てるようになります。
MCPサーバー監視
SentryのMCP監視は、サーバーにアクセスするすべてのクライアント・ツール・リクエストを認識し、可視化します。どのツールが失敗しているか、どのトランスポートが遅延しているか即座に把握できます。
始め方
以下はPythonでの例です。まずSDKをインストールします。
pip install "sentry-sdk"
そして、integrations に OpenAIAgentsIntegration() を追加してください。
import sentry_sdk
from sentry_sdk.integrations.openai_agents import OpenAIAgentsIntegration
sentry_sdk.init(
dsn="https://examplePublicKey@o0.ingest.sentry.io/0",
send_default_pii=True,
integrations=[
OpenAIAgentsIntegration(),
],
)
まとめ
Sentryはオブザーバビリティプラットフォームとして、フロントエンド・バックエンドをシームレスに連携させて監視できます。不具合はもちろん、パフォーマンス劣化のような分かりづらい問題もSentryなら素早く発見できます。
ぜひSentryを使い、サービスの状態を可視化してください。