Application Insights Telemetry における Glimpse

12月 8, 2015 に投稿済み

Program Manager, Application Insights

Application Insights や Glimpse をとても気に入っているユーザーがおられる一方、これらの優れたツールについて聞いたことがないユーザーもおられます。

Glimpse は開発時に Web アプリをプロファイルしたりデバッグしたりするために適しています。Application Insights は問題を診断し、実際の運用環境におけるパフォーマンスを監視するためのツールです。どちらも必要なため、これらの製品を統合することにしました。

Application Insights とは

Application Insights は、運用環境の Web アプリケーションのパフォーマンス、可用性、使用状況を監視します。お客様のアプリを使用してユーザーが行っていることを把握したり、失敗した要求や例外を診断したり、ブラウザー、Web サーバー、バックエンド サービスにおけるパフォーマンス上の問題を検出したりするのに役立ちます。

appinsights

Glimpse とは

Glimpse は Web 用の診断プラットフォームです。Web アプリをデバッグするときに、Glimpse は発生時に Web 要求を検査し、分析情報を提供し、デバッグ時間を短縮します。そのようにして、すべての開発者が Web アプリケーションを改良するのを支援します。

glimpse2

統合内容

Application Insights は要求、依存関係に対する送信呼び出し、ビジネス メトリックに関するクライアント側とサーバー側のテレメトリを自動収集します。これらの項目は、Application Insights の新しいカテゴリとして [Glimpse timeline (Glimpse タイムライン)] タブを使用して、Glimpse によって収集された他のデータとともにアクセスできるようになりました。現在 Glimpse では送信 HTTP 呼び出しに関する情報は提供されていませんが、Application Insights を使用するとそれらの情報を表示できます。

glimpse-trace

また Application Insights はログ トレースと例外レポートも収集します。これらは [Glimpse Trace (Glimpse トレース)] タブに表示されます。

glimpse-trace2

新しい [Application Insights] タブには、運用環境にアプリケーションを展開した後に収集される、クライアントとサーバーからの Application Insights テレメトリすべてが表示されます。

glimpse-ai

開発サイクル

ツールのこの組み合わせを使用すると、Glimpse と Visual Studio 診断ハブによって、Web 要求ごとに対する応答を追跡できます。これらのツールによって、要求パラメーター、セッション状態、SQL クエリ、構成設定にすぐにアクセスできます。それにより、開発プロセスが簡略化され、デバッグ速度が上がります。

developmentcycle2

お客様のアプリが実際の運用環境で実行されている場合には、診断プロセスが異なります。Glimpse で行っていたように発生時にすべての要求を監視するというのではなく、読み込みごとに応答時間がどのように異なるのか、REST サービス、データベースなど依存関係に基づいてバリエーションがどれほどあるかなどの統計を収集すると役立ちます。失敗した要求がある場合、影響を受けるユーザー数を評価し、一部の失敗について取り上げて、詳細なトレースを確認できます。こうした点に Application Insights は強みを発揮します。

多くの場合、Application Insights を有効にするだけで、実際のアプリに関して必要な診断と利用状況に関する情報すべてが十分に揃います。ただし、テレメトリをカスタマイズして、利用状況とパフォーマンスに関するさらに詳細なフィードバックを取得することもできます。Glimpse と Application Insights の統合によって、運用環境の Application Insights から取得するテレメトリを上手に調整することができます。

[Application Insights] タブを参照すると、お客様のアプリケーションを使用して閲覧する特定のページに関して収集されるデータを正確に確認できます。開発中にこのタブを使用すると、意図したとおりにテレメトリ収集が実装されていることを確認できます。適切なチェックアウト価格またはキューの長さを送信しましたか?ビジネス テレメトリ イベントとして成功したトランザクションがレポートされましたか。アプリケーションのリリース後も、このテレメトリはビジネスと診断の分析情報の情報源となります。

この統合によって、開発時に収集されたデータと運用環境で収集されたデータの切り替えがうまくいくことは素晴らしい点ですが、さらに価値を生み出せるようこの統合に改善を加えていくことを計画しています。次のバージョンの Glimpse と Application Insights NuGet では、お客様が新しいバージョンのアプリケーションを開発するときに、Glimpse UI で旧バージョンのアプリケーションからの運用環境データを表示できるようにする予定です。

今すぐ試す

Microsoft の NuGet パッケージの 1 つをインストールして、ご自分のアプリケーションでこの統合を実際に確認し、お試しください。現在、2 つの NuGet パッケージが利用できます。

Glimpse Application Insights Web パッケージをインストールすると、お客様のアプリケーションで Application Insights が有効になり、基本的な Glimpse パッケージ セットが使用できるようになります。このパッケージには、だれでもこの簡単なソリューションを作成する Web アプリケーションに必要となる他のパッケージへの依存関係が含まれています。Application Insights にオンボードしていない場合、このパッケージを使用する必要があります。Glimpse Application Insights Web は、追加操作なしで .NET Web アプリケーションをサポートします。

package_glimpse

注: Application Insights と Glimpse に既にオンボードしている場合、Glimpse Application Insights NuGet パッケージの使用を検討できます。追加機能が必要な場合、ADO.NET、ASP.NET、EnityFramework、または他の拡張機能を手動でインストールできます。

謝辞

Glimpse と Application Insights の統合は、複数の共同作成者によって可能となったオープン ソース プロジェクトです。特に、Oscar Garcia Colon (MVP) 率いる ALM Latam OOS チームと Microsoft Application Insights からのアシスタント Guillermo Zepeda、Jose Carlos Mendez、Alejandro Damian、Carlos Paz、Jorge Rodriguez、Francisco Bravo、Claudia Susana Lopez、Karlo Lorenzana、Sergey Kanzhelev、および Glimpse チーム (Anthony van der HoornNik Molnar) に心から感謝いたします。これら 3 つの異なるチームが連携することによって、お客様にとって有用な統合が可能になりました。

ご意見をお聞かせください...

Glimpse と Application Insights の統合は現在も進行中の作業です。問題となる点や機能に関する要求について、ぜひこちらのリポジトリにアクセスしてください。

Application Insights チームは開発者の皆様に高品質のツールを提供するよう努力しています。フィードバックや新しい機能についての提案をお待ちしております。