In our latest Knowledge Leadership piece, we take a look at telemetry and explore what telemetry data is and how it is used. We will also review why telemetry data is important both in general software development as a whole and specifically in the ongoing development of Business Central as a business management tool.
What is telemetry?
Telemetry is “the automatic measurement and wireless transmission of data from remote sources.” The data is transmitted from a wide range of wireless data sources to an IT system in a different location for monitoring and analysis.
Telemetry data can be relayed in a wide range of different ways depending on the application – radio, infrared, ultrasonic, GSM, satellite or cable.
Who uses telemetry?
Telemetry has a very important role in the software development sector, where it is used to offer insights on which features end users utilise most, as well as the detection of bugs and issues. It offers greater visibility without the need to solicit feedback directly from individual users.
Benefits of using telemetry data in software development
- Telemetry data enables the end user to monitor the state of an object or environment while being physically removed from it.
- It delivers insights into how well a product is working for the end user. This is very valuable in performance monitoring and management.
- Telemetry data also gives the software developers product insights such as which features customers are actually using, how are the users are engaging with those features and how often are users interacting with the app.
Challenge of using telemetry data in software development
The biggest challenge is the willingness of end users to allow software developers to access the data. Many users have privacy concerns about giving third parties access to this data, even if it is anonymised and this means that many users will automatically disable an app’s telemetry collection functionality.
How does Business Central use telemetry data?
Business Central (specifically Business Central 2019 release Wave 2 and later) emits telemetry data for various activities and operations on both tenants and extensions. Whether Business Central is cloud or on-premise, it has the ability to send telemetry data to Application Insights. Application Insights is a Microsoft service hosted within Azure that gathers telemetry data for analysis and presentation.
The data within Application Insights can then be used by both Microsoft and third party software partners/resellers, such as TVision Technology, to:
- Improve customer experiences
- Monitor security
- Monitor application health
- Monitor quality
- Monitor performance
In Application Insights, telemetry from Business Central is logged as traces. Currently, Business Central offers telemetry on the following operations:
|AppSource Submission Validation||Provides information about validation when an extension is submitted to AppSource.||✓||✓|
|App key vault secrets||Provides information about the retrieval of secrets from Azure Key Vaults by extensions.||✓||✓||✓|
|Authorisation||Provides information about user sign-in attempts. Information includes success or failure indication, reason for failure, user type, and more.||✓|
|Company lifecycle||Provides information about creating, copying, and deleting of companies.||✓||✓|
|Configuration package lifecycle||Provides information about operations done on configuration packages, including exporting, importing, applying, and deleting.||✓||✓|
|Database deadlocks||Provides information about database deadlocks that occur.||✓||✓|
|Database lock timeouts||Provides information about database locks that have timed out.||✓||✓|
|Database wait statistics||Provides information about the wait categories and the wait times a query runs into.||✓||✓|
|Provides information about the success or failure of sending emails.||✓||✓|
|Environment lifecycle||Provides information about changes and operations on an environment, like updates, hotfixes, copy, move, delete, configuration changes, and more.||✓|
|Error message quality||Provides information about error messages that users thought were helpful or unhelpful.||✓||✓|
|Error method||Provides information about error dialogs that are shown to the users.||✓||✓|
|Extension lifecycle||Provides information about the success or failure of extension-related operations, like publishing, synchronizing, installing, and more.||✓||✓||✓|
|Extension update||Provides information about errors that occur and upgrade tags used when upgrading an extension.||✓||✓||✓|
|Feature telemetry||Provides information about the usage and errors of features.||✓||✓|
|Field monitoring trace||Provides information about the usage of the field monitoring feature.||✓||✓|
|Job queue||Provides information about creating and running job queue entries.||✓||✓|
|Long running AL method trace||Provides information about long running AL methods.||✓||✓||✓|
|Long running operation (SQL query)||Provides information about SQL queries that take longer than expected to execute.||✓||✓||✓|
|Page views||Provides information about the pages that users open in the modern client.||✓||✓|
|Permissions||Provides information about adding, removing, and assigning permission sets.||✓|
|Report generation||Provides information about the execution of reports.||✓||✓||✓|
|Retention policy trace||Provides information about the usage of the retention policy feature.||✓||✓|
|Incoming web service requests||Provides information about the execution time of incoming web service requests.||✓||✓||✓|
|Outgoing web service requests||Provides information about the execution time of outgoing web service requests.||✓||✓||✓|
|Table index trace||Provides information about the addition or removal of a table index.||✓||✓||✓|
|Task scheduler lifecycle||Provides information the execution of scheduled tasks.||✓||✓|
|Verbose logging enabled/disabled||Provides information about when additional logging is enabled and disabled from the client.||✓||✓|
|Web service access key authentication||Provides information about the authentication of web server access keys on web service requests.||✓||✓|
For further information click here for the Business Central Telemetry FAQs in GitHub.
How does TVision Technology use telemetry data?
As one of the largest and most experienced providers of Microsoft Dynamics 365 solutions in the UK, TVision Technology places a great deal of value in the telemetry data that it collects from its customers. The anonymised telemetry data we collect from both our Business Central SaaS and Bevica SaaS clients is very helpful for us at a technical level. It allows us to track product performance and see what areas of the software are being used. This is particularly helpful for Bevica, which TVision Technology has spent the last 20 years developing specifically for the drinks industry. In turn, this allows us to anticipate problems areas and work out new and better ways to response to customer needs.
Interesting insights we have gained from the telemetry data we have collected include the following:
- Over 50% of our customers access our cloud-based applications via Chrome 102.0
- Tuesday is the day when we have the most application users
- The majority of our users are UK-based but we do have some as far afield as India, Dubai and North America!
How can TVision Technology help you?
To find out Microsoft Dynamics 365 Business Central and how it can help your business, get in touch with one of our experienced TVision team.