Application Insightsとは
Application Insights
Visual Studio Application Insights は、実行中の Web アプリケーションを監視する拡張可能な分析サービスです。パフォーマンスの問題の検出と診断や、ユーザーがアプリを使用して実際に実行する操作の理解に役立ちます。開発者向けに設計された Application Insights を使用して、パフォーマンスやユーザビリティを継続的に向上させることができます。オンプレミスまたはクラウドでホストされている .NET、Node.js、J2EE などのさまざまなプラットフォーム上のアプリで機能します。
Mobile AppsのDevOpsソリューションの HockeyAppのクラッシュレポート、メトリックスも収集し分析することが可能になってます。
参考)
Transitioning Mobile Apps from Application Insights to HockeyApp
Application Insightsを使ってみる
Application Insightsを作成
-
Azure ポータルで、"Application Insights"を検索します。
-
-
名前:設定は必要はありません。HockeyApp 名から自動的に設定されます。
-
アプリケーションの種類:HockeyApp ブリッジ アプリケーションを選択します。
-
HockeyApp トークン:HockeyApp トークンを入力します。
-
HockeyApp アプリケーション:HockeyAppに登録されているアプリケーションを選択します。
-
サブスクリプション:従量課金のみ選択可能
-
リソースグループ:任意に指定
-
場所:米国東部のみ選択可能
-
[作成]をクリックします。
-
-
データポイントの内容
データ ポイントのグラフをタップするとデータポイント数が表示されます。
カスタムイベントが収集されていることがわかります。 -
データの詳細
データ型のレコード部分をタップするとデータの詳細が表示されます。
※カスタムイベントのみ収集され、それ以外は収集されて無いようです...
Application Insights Analytics で分析
-
Application Insightsの画面のAnalyticsアイコンをタップすると、Analytics画面に移動できます。
-
Analyticsには予め COMMON QUERIESのショートカットとして、USERS/PERFORMANCE/ERRORS/USAGEが設定されています。
-
クエリーを確認する。
USAGEをタップすると、クエリータブが追加されます。
クエリー結果には、アプリに仕込んだカスタムイベントが集計されて表示されます。
※ Azure HockeyApp でモバイル アプリの開発/配布(ベータテスト)/クラッシュレポーティング - Qiitaで、設定したカスタムイベントの集計。残念ながらこれ以外のクエリーの結果は空でした。
ユーザーメトリックス、アプリ画面の応答時間、例外情報等が取得できるのかと期待したいのですが...
これらはHockeyAppで確認する必要があります。 -
クエリーの内容
クエリーは、Analytics Query Language(AQL)という独自言語?で記述する必要があります。USAGEのクエリー
customEvents | where timestamp >= ago(24h) | summarize dcount(user_Id), count() by name | top 10 by count_ | render barchart
- 1行目: 対象のスキーマ(データ)
- 2行目: 条件 - 24時間以内のデータを対象とする
- 3行目: 集計 - カスタムイベント毎の件数を集計
- 4行目: レコード件数
- 5行目: グラフの種類
となってます。
詳細は以下を参照して下さい。
指定できるスキーマにexceptionsやpageViewsが存在しますが、クエリーしても、アプリの例外やActivityの閲覧情報等は取得できませんでした。
まとめ
DevOps環境のHockeyAppとApplication Insightsは簡単に繋ぐことができました。
ただし、Application Insights側には、アプリのメトリックスはカスタムイベントしか連携されないようです。
開発者がアプリを分析したい場合はHockeyAppを使用する必要があるようです。