Putting together a dashboard to show YOUR product analytics that way that makes sense for your product.
As many of you know that have been working for Xamarin, Microsoft has been pushing HockeyApp as the preferred platform for crash analytics, usage tracking and beta testing. But if you have implemented HockeyApp, you might have noticed that you don’t have that much to slice the data the way that makes sense to you.
For instance, when looking at your usage data, you can only filter by “Last 24 Hours”, “Last 7 Days” or “Last 30 Days”. Those values are fine when you just want to get a broad overview of how your app is doing. However we want to do more. We want to know where our users are, we want to know what affects specific add campaigns have. We want to get combined results for both Android and iOS.
Enter Application Insights – Yes, the same platform that you already use to monitor your web applications. The beauty of this solution is there is not additional coding, no additional API’s, no new deployment for your mobile app. You just need to configure Application Insight in your Azure subscription to gather the information from your HockeyApp account.
- To set it up, head to your Azure Account and Add a new “Application Insights” service. (Just click on the + at the top left and search for Application Insights”.
- Next enter the Name, Subscription, Resource Group and Location for the service.
- The Important part here is to select the “HockeyApp bridge application”. This will expose a couple of other fields.
- HockeyApp Token – This is an API token that you get from HockeyApp. The “I” information icon has a link directly to where you can get/create it.
- After you entered the HockeyApp Token, you will be able to select you application from the dropdown. Now here you still need to select the platform specific App.
- Click Create, and Azure will provision your service. Now I have heard that it can take a few hours to see data start flowing in. This was not the case for me. I started seeing data within a few minutes.
Now you might be saying that this is still platform specific data, and you are right, we will cover combining data in the Combining Data Section below. For now, you will have to follow the above setup for each of your apps in HockeyApp.
Pricing, Quota and Retention
Unlike other Azure services, you are not given the choice of service level when you set up Application Insights. By default you are configured for the Free tier. Currently that gives your 5 million data points. All the tiers only give you 7 days of raw data retention and 90 Days of “Aggregated Data”.
So for our scenario, that still does not help much, what if I want more. The Standard and Premium levels also gives you Data Export. This in essence allows you to dump all your raw data to Azure Storage. Once there you can make use of the entire Azure eco system to process and analyze the data.
This is currently something we are still investigating. But the idea is that you use the Export Data feature of the Standard and Premium pricing tiers. You basically just dump the data from each platform to the same Storage account. From there you will use something like HDInsights to ingest the raw data.
Analyzing the Data
To start digging into your data head over to Application Insights Analytics. You will see the icon for “Analytics” on your Application Insights dashboard. Once there, create a new tab to begin writing your queries. Or you can select one of the “Common Queries” to get you started.
The intellisense in the query windows is actually pretty good and makes it pretty easy to learn. Start by typing the name of any of the tables in the red rectangle above.
I started with customEvents. I knew we have data there and I was most interested to dig into those. Once you select the table from the intellisense, it will show you a list of operators that you can use. Everything that you would expect is there. Where, count, join, order etc. Slice and dice any way you want. I first query was this simple:
| take 100”
This just validated that I have some data, and gives you an idea of the columns that you can work with.
BTW, Shift+Enter executes your query, or you can click the orange Go button.
I am not going into the details of the operators here, but there are some unique ones in there that you should look into. Those are extend, project, summarize, evaluate etc. I would suggest you look at the docs here.
Something else to note, you can output the queries directly into a chart here
Now I know that it is nice to geek out on your data and dig through it, massage it, render it. But there is one more step that you need to take to add business value. Create a dashboard.
The nice thing about the queries that you write in Analytics is that you can export it to Power BI. All you do is click the export dropdown. Select “Power BI Query (M)”. It will download a .txt file that has the exact query that you need. It even includes the instructions.
You just copy the text and paste it into the “Advanced Query Editor” in Power BI Desktop and you are ready to go.
Unfortunately Power BI is a bit out of scope for this post, but I might deep into it in a future post.