-
Notifications
You must be signed in to change notification settings - Fork 73
Telemetry
Collect telemetry data on how Azure IoT Explorer is used to make data-driven decisions about future work items.
iotExplorerInsights: Azure Application Insights resource for collecting telemetry data https://ms.portal.azure.com/#@microsoft.onmicrosoft.com/resource/subscriptions/a386d5ea-ea90-441a-8263-d816368c84a1/resourceGroups/iotExplorerTelemetry/providers/microsoft.insights/components/iotExplorerInsights/overview
iotExplorerInsights_DEV: Azure Application Insights resource for separating telemetry data logged in a development environment
** use this when testing new telemetry logging
https://ms.portal.azure.com/#@microsoft.onmicrosoft.com/resource/subscriptions/a386d5ea-ea90-441a-8263-d816368c84a1/resourceGroups/iotExplorerTelemetry/providers/microsoft.insights/components/iotExplorerInsights_DEV/overview
iotExplorerWorkspace: Common Azure Log Analytics workspace that the two Application Insights feed into https://ms.portal.azure.com/#@microsoft.onmicrosoft.com/resource/subscriptions/a386d5ea-ea90-441a-8263-d816368c84a1/resourceGroups/iotExplorerTelemetry/providers/Microsoft.OperationalInsights/workspaces/iotExplorerWorkspace/Overview
- Add logging code using @microsoft/applicationinsights-web as reference
- Relevant files: appInsightsClient.ts, telemetry.ts
- Verify your events are getting logged in iotExplorerInsights_DEV in the Transaction Search tab
- Export data to the dashboard using this guide https://docs.microsoft.com/en-us/azure/azure-monitor/app/export-power-bi
- Create any visualization(s) necessary
Once your code is released:
- Modify the dashboard query to pull from iotExplorerInsights instead of iotExplorerInsights_DEV
- In the Azure portal, change the query scope and re-export the query using https://docs.microsoft.com/en-us/azure/azure-monitor/app/export-power-bi
- Republish the dashboard
- Daily users - automatically collected by the Application Insights Javascript SDK, "Users are counted by using anonymous IDs stored in browser cookies. A single person using different browsers or machines will be counted as more than one user."
- Views per page - a single PageView event is logged each time that page is loaded
- Page view duration - logged by @microsoft/applicationinsights-web, see
autoTrackPageVisitTime
- User actions - a single CustomEvent called "user_action" is logged each time a button to perform a meaningful user action is clicked
- Download data - pulled from https://api.github.com/repos/azure/azure-iot-explorer/releases
- Runtime exceptions - auto collected by the Application Insights Javascript SDK, collects all uncaught exceptions in the application
- Internal vs external users - logged as a CustomEvent called "internal_user" each time the app is started, internal users are anyone using the app on a Microsoft domain joined laptop, external users are everyone else
- Percent not clicking the update banner - ratio of each time the update banner is displayed (CustomEvent called "update_banner:displayed") to each time the update banner is clicked (CustomEvent called "update_banner:clicked")
- FetchDevices() server call data - CustomEvent "fetch_devices", logs the response from the server call unless the request fails to send, then it logs the status as N/A and the statusText is the error message