What's new in Dynamics 365 Business Central telemetry - July 2023
Kennie Nybo Pontoppidan
Principal Program Manager at Microsoft. I help ERP customers in the SMB space run their business.
It is July and it has been a month since the last newsletter (well, only a week since the part 2 of the June newsletter...) Things are quiet in Copenhagen as June/July is holiday season, so not a ton is happening, but I still have bits and pieces of information to share.
As always, the bleeding edge news on Dynamics 365 Business Central telemetry happens on Twitter, so if you want to keep up with the latest and greatest (and the beta versions of the Power BI telemetry apps) then follow me there (@kennienp). The intention of these monthly newsletters is to try to gather everything that I know and learn about this area and present it here. Let’s go…
In the July 2023 edition, read about these things:
Learnings from BCTechdays 2023
People attending BC/NAV Techdays 2023 conference this year had plenty of opportunities to learn about telemetry. Below, you can see a select few references to sessions where telemetry play a role.
?
At the opening keynote, Microsoft engineering manager Steffen Balslev demoed the new AI assisted way to analyze performance issues.
(starts at 57:50 in the video)
Microsoft engineers Mads Gram and Nikola Kukrika did a session on Locking in AL: Runtime and explicit AL control. While the topic is on locking, there are a few places in the session where you can query telemetry to see how this part of the session impacts your customers/apps. Lets start…
11:50 into the session, they present how the AL runtime use SQL hints
You can query telemetry for any event that emit the custom dimension sqlStatement, such as
traces
| where customDimension has ‘sqlStatement’
| project eventId = customDimension.eventId
, sqlStatement
?
and then examine the use of any of these hints.
?
At 23:52, they mention how telemetry can be used to analyze locking
but do not go into more details other than referring to slides in the telemetry scenario deck
Since this newsletter is about telemetry, I will include the slides here for you (so that you do not have to leave the newsletter)
Watch the full recording here: https://www.youtube.com/watch?v=G3nwddMnWTI
Microsoft MVPs Steven Renders, Renato Fajdiga did a session on Business Central Reporting demystified. At 1:25:30 into the session, they show how telemetry gives insights into the usage of reports and Power BI for customers (and in apps).
Watch the full recording here: https://www.youtube.com/watch?v=aOJhUcNjeF0
Microsoft engineers Erida Nurce and Vasil Illiev did a session on What's new in Business Central clients for AL developers. At 15:30 into the session, they show how telemetry gives insights into the usage of the new Data Analysis feature on list pages (I am trying to get the client team to add more client action signal into one of the next waves).
Watch the full recording here: https://www.youtube.com/watch?v=8rrFDGa8y-w
Microsoft MVP Arend-Jan Kauffmann did a session on API best practices. At 56:00 into the session, he shows how telemetry gives insights into the performance and stability of API calls.
Watch the full recording here: https://www.youtube.com/watch?v=g7BhQf7q-Ko
Microsoft engineers Steffen Balslev and Blanca Robledo did a session on What's new in AL. At 36:38 into the session, they show how telemetry gives insights for AL developers how their AL code impact the performance and errors for their customers.
Watch the full recording here: https://www.youtube.com/watch?v=LwnMz0j9EXc
Microsoft engineers Jesper Schulz-Wedde and Stig Killendahl did a session on Ease permission management in your applications, levering the latest permission features. At 38:46 into the session, they show how telemetry gives insights for AL developers and consultants how their permission setups impact errors for their customers.
Watch the full recording here: https://www.youtube.com/watch?v=5uqWdHPGhb0
BCTechdays is a great conference and most sessions are recorded and available online. Check them out here: https://www.youtube.com/@mibusocom/videos
Power BI Usage apps – July updates
The July updates for both apps mainly include changes of type “all the little things” (to make the reports easier to use). But some of the new cool types of telemetry we got in the 22.0 release is now also surfacing in the apps.
?
For both apps
Performance report
On page ‘Long Running AL’, added visual on new dimensions sqlExecutes and sqlRowsRead. These SQL statistics can help you determine if a long running AL method is not only spending a lot of time running AL, but as well is also doing work on the database. Note that the time captured in this event does not include time spend in SQL.
Environment Usage app
Usage report
Added a new page (for 22.2) 'Onboarding'. Allows you to track the when onboarding activities were started by a user in a company and when they were completed.
?
Error report
On page ‘Job Queue Errors’, added dimensions alJobQueueObjectName and alJobQueueDescription to visuals and filters. Introduced a hierarchy on object name/id/type/description. Changed exceptions visual to use a matrix visual.
?
Performance report
On page ‘Job Queue Performance’, added dimension alJobQueueObjectName and alJobQueueDescription to visuals and filters.
New signal/updates
Onboarding signal was added in 22.1. Use this to analyze or monitor the following operations:
?
For more information, see https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/telemetry-onboarding-trace
For KQL samples, see
?
?
Cloud migration signal was added in version 22.1. Use this to analyze or monitor data about the success or failure of the following operations:
For more information, see https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/telemetry-cloud-migration-trace
For KQL samples, see https://github.com/microsoft/BCTech/blob/master/samples/AppInsights/KQL/Queries/ExampleQueriesForEachArea/CloudMigration.kql
?
?
Job queue descriptions on job queue telemetry was added in 22.2. This allows you to easier troubleshoot job queue errors.
领英推荐
For more information, see
For KQL samples, see
?
?
Web service publish failure telemetry was added in version 22.2. These events (RT0035-RT0039) trigger when a web service couldn't be published, or if a published web service isn't working correctly due to an error in creating metadata for the web service. As a partner, you can use this data to investigate and fix potential problems that are preventing web service from working correctly.
For more information, see
For KQL samples, see
?
?
Long running AL method telemetry (eventId RT0018) now include details on SQL operations in the custom dimensions sqlRowsRead and sqlStatements. Use this to dive deeper into performance issues related to AL (could it also be due to SQL?).
For more information, see
For KQL samples, see
?
?
Outgoing web service telemetry (eventId RT0019) now includes details on client type and AL stack trace in the custom dimensions clientType and alStackTrace. Use this to understand performance impact of these calls in the UI.
For more information, see
For KQL samples, see
?
?
Coming soon/in the works (no ETA given)
Documentation updates
Feature management telemetry (22.0)
In version 22.0, we added telemetry for all state changes happening on the Feature Management page. This allows you to analyze and alert on this across all environments in your telemetry resource.
Docs have now been updated with a new page that also includes a sample KQL query you can copy/paste into your alerting tool of choice.
Read more here:
?
The set of alerting scenarios has also been updated, see
?
?
Outgoing web service call documentation has gotten a big overhaul on three areas:
First, the telemetry documentation page now has a built-in copy-to-clipboard KQL query to get you quickly started analyzing outgoing web service calls:
Second, we added a section on performance considerations when calling external services from AL in UI sessions.
Third, we added a section on how to analyze HTTP errors with a built-in copy-to-clipboard KQL query and explanation of HTTP status codes:
The same information was also added to the documentation page of the HTTPClient datatype
and to the developer performance tuning guide
so that no matter where you are in docs, you still get exposed to the same content:
?
Tips and tricks
?
Data retention and archive for telemetry data
I recently learned that Log Analytics (the data backend of Application Insights) supports data archiving
?
Read more here: https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-workspace-overview#data-retention-and-archive
I wonder if some of you might have seen this and tried it in the wild? Please share your experience if you have.
?
Microsoft MVP and Telemetry Hero Bert Verbeek has also blogged about this in the blog post Archiving your telemetry data: https://www.bertverbeek.nl/blog/2023/06/26/archiving-your-telemetry-data/
?
?
?
Exporting telemetry data to a data lake (and surface it in Microsoft Fabric Onelake)
I recently learned that Log Analytics (the data backend of Application Insights) supports exporting data to a storage account
Read more here: https://learn.microsoft.com/en-us/azure/azure-monitor/logs/logs-data-export?tabs=portal
This means that you could store long-term copies of your telemetry data in a data lake. And with Microsoft Fabric , you could mount this lake to your Onelake and make it available for analysis across that stack.
I wonder if some of you might have seen this and tried it in the wild (mostly the export part)? Please share your experience if you have.
?
Blog posts and videos
Microsoft MVP Shannon Mullins and Telemetry Hero wrote two new blog post on
Why All Dynamics 365 Business Central Customers NEED BC Power BI Applications Insights Telemetry: https://www.shannonmullinsmsft.com/2023/06/why-all-dynamics-365-business-central.html
and
Getting Started With Dynamics 365 Business Central Telemetry: https://www.abccgroup.com/post/getting-started-with-dynamics-365-business-central-telemetry
?
Microsoft MVP and Telemetry Hero Bert Verbeek blogged about Archiving your telemetry data:
?
Did you know that the BCTech repo has pages with links to blog posts and videos on telemetry?
If you create blog posts/videos on telemetry (or know of things that are not linked from these two pages), feel free to do a pull request to the repository (or send me an email/message)
?
That’s all folks!
That's it for the July newsletter. If you made it all the way down here, then you are truly a Telemetry Hero. See you in a month.
PS. Would love to hear your experiences on using alerts to be more proactive. Reach out (or blog about your experiences.)
Alerting on telemetry is documented here: https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/telemetry-alert
PPS. It is not too late to rate the Power BI apps on Appsource ?? Your feedback matters (a lot).
Do it here:
(for environment telemetry)
or
(for app telemetry)?