Help us understand the problem. What is going on with this article?

Azure Application Insights でモバイルアプリを分析

More than 3 years have passed since last update.

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を作成

  1. Azure ポータルで、"Application Insights"を検索します。 0001.jpg
  2. [作成]をクリックします。 0002.jpg
  3. Application Insightsの設定
    0005.jpg

    1. 名前:設定は必要はありません。HockeyApp 名から自動的に設定されます。
    2. アプリケーションの種類:HockeyApp ブリッジ アプリケーションを選択します。
    3. HockeyApp トークン:HockeyApp トークンを入力します。

      1. HockeyAppトークンは、HockeyAppの管理画面のAccount SettingsのAPI Tokensで作成します。
      2. ヒントマークのポップアップからHockeyAppの管理画面へ飛ぶことができます。 0003.jpg
      3. Create API Tokens 画面でトークンを作成します。     0004.jpg
      4. このトークンをApplication Insightsの設定に記述します。
    4. HockeyApp アプリケーション:HockeyAppに登録されているアプリケーションを選択します。

    5. サブスクリプション:従量課金のみ選択可能

    6. リソースグループ:任意に指定

    7. 場所:米国東部のみ選択可能

    8. [作成]をクリックします。

  4. Application Insightsの画面
    0006.jpg
    ※データの送信が開始されるまで、しばらく時間がかかります...

  5. データポイントの内容
    データ ポイントのグラフをタップするとデータポイント数が表示されます。
    2016_12_26_16_23.jpg
    カスタムイベントが収集されていることがわかります。

  6. データの詳細
    データ型のレコード部分をタップするとデータの詳細が表示されます。
    2016_12_26_16_24.jpg
    ※カスタムイベントのみ収集され、それ以外は収集されて無いようです...

Application Insights Analytics で分析

  1. Application Insightsの画面のAnalyticsアイコンをタップすると、Analytics画面に移動できます。
    2016_12_26_13_50.jpg

  2. Analyticsには予め COMMON QUERIESのショートカットとして、USERS/PERFORMANCE/ERRORS/USAGEが設定されています。
    2016_12_26_13_51.jpg

  3. クエリーを確認する。
    USAGEをタップすると、クエリータブが追加されます。
    2016_12_26_13_52.jpg

    クエリー結果には、アプリに仕込んだカスタムイベントが集計されて表示されます。
    Azure HockeyApp でモバイル アプリの開発/配布(ベータテスト)/クラッシュレポーティング - Qiitaで、設定したカスタムイベントの集計。

    残念ながらこれ以外のクエリーの結果は空でした。
    ユーザーメトリックス、アプリ画面の応答時間、例外情報等が取得できるのかと期待したいのですが...
    これらはHockeyAppで確認する必要があります。

  4. クエリーの内容
    クエリーは、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行目: グラフの種類

    となってます。

    詳細は以下を参照して下さい。
    - SQL to Analytics Query Language Cheat Sheet
    - Application Insights の Analytics のリファレンス

    指定できるスキーマにexceptionsやpageViewsが存在しますが、クエリーしても、アプリの例外やActivityの閲覧情報等は取得できませんでした。

まとめ

DevOps環境のHockeyAppとApplication Insightsは簡単に繋ぐことができました。
ただし、Application Insights側には、アプリのメトリックスはカスタムイベントしか連携されないようです。
開発者がアプリを分析したい場合はHockeyAppを使用する必要があるようです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした