What's new in Dynamics 365 Business Central telemetry - July 2023

What's new in Dynamics 365 Business Central telemetry - July 2023

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
  • Power BI Usage apps – July updates
  • New signal/updates
  • Documentation updates
  • New blogs and videos


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.

https://www.youtube.com/watch?v=mnUOuFRumyA&t=3472s

(starts at 57:50 in the video)

No alt text provided for this image


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

No alt text provided for this image

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

No alt text provided for this image


but do not go into more details other than referring to slides in the telemetry scenario deck

https://github.com/microsoft/BCTech/tree/master/samples/AppInsights/Presentations#:~:text=Include%20telemetry%20slides%20in%20your%20feature%20presentations%20(either%20for%20product%20features%2C%20but%20also%20for%20troubleshooting%2C%20performance%2C%20administration%2C%20...%20)


Since this newsletter is about telemetry, I will include the slides here for you (so that you do not have to leave the newsletter)

No alt text provided for this image


No alt text provided for this image


No alt text provided for this image
No alt text provided for this image


No alt text provided for this image


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).

No alt text provided for this image


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).

No alt text provided for this image

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.

No alt text provided for this image


No alt text provided for this image


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.

No alt text provided for this image

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:

  • Onboarding was started by a user in a company, and
  • Onboarding criteria was completed by a user in a company

?

For more information, see https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/telemetry-onboarding-trace

For KQL samples, see

https://github.com/microsoft/BCTech/blob/master/samples/AppInsights/KQL/Queries/ExampleQueriesForEachArea/Onboarding.kql

?

?

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:

  • Replication runs
  • Cloud migration setup
  • Data upgrade

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

https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/telemetry-job-queue-lifecycle-trace#other:~:text=or%20Codeunit.-,alJobQueueObjectDescription,-Specifies%20the%20description

For KQL samples, see

https://github.com/microsoft/BCTech/blob/master/samples/AppInsights/KQL/Queries/ExampleQueriesForEachArea/JobQueue.kql

?

?

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

https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/telemetry-webservices-publish-failure-trace

For KQL samples, see

https://github.com/microsoft/BCTech/blob/master/samples/AppInsights/KQL/Queries/ExampleQueriesForEachArea/WebServiceCalls.kql

?

?

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

https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/telemetry-al-method-trace#:~:text=mm%3Ass.sssssss.-,sqlExecutes,-Specifies%20the%20number

For KQL samples, see

https://github.com/microsoft/BCTech/blob/master/samples/AppInsights/KQL/Queries/ExampleQueriesForEachArea/LongRunningAL.kql

?

?

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

https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/telemetry-webservices-outgoing-trace#:~:text=in%20version%2020.1.-,clientType,-Specifies%20the%20type

For KQL samples, see

https://github.com/microsoft/BCTech/blob/master/samples/AppInsights/KQL/Queries/ExampleQueriesForEachArea/OutGoingWebServiceCalls.kql

?

?

Coming soon/in the works (no ETA given)

  • New email error telemetry (22.3)
  • Onboarding telemetry (22.3): format data of date dimensions
  • Information on files blocked from upload due to malware scanning (only in the online version).
  • PTE validation signal (PTEs that block updates to next major)


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:

https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/telemetry-feature-management-trace#sample-kql-code

?

The set of alerting scenarios has also been updated, see

https://github.com/microsoft/BCTech/blob/master/samples/AppInsights/Alerts/README.md#:~:text=PermissionChanges.kql-,Feature%20Management%20changes,-Change%20management

?

?

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:

https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/telemetry-webservices-outgoing-trace#sample-kql-code

Second, we added a section on performance considerations when calling external services from AL in UI sessions.

https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/telemetry-webservices-outgoing-trace#performance-considerations

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:

https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/telemetry-webservices-outgoing-trace#troubleshoot-errors

The same information was also added to the documentation page of the HTTPClient datatype

https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/methods-auto/httpclient/httpclient-data-type#telemetry

and to the developer performance tuning guide

https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/performance/performance-developer#outgoing-web-service-calls-block-al-execution

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

?

No alt text provided for this image

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

No alt text provided for this image

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:

https://www.bertverbeek.nl/blog/2023/06/26/archiving-your-telemetry-data/

?


Did you know that the BCTech repo has pages with links to blog posts and videos on telemetry?

Blogs: https://github.com/microsoft/BCTech/blob/master/samples/AppInsights/BLOGS.md

Videos: https://github.com/microsoft/BCTech/blob/master/samples/AppInsights/VIDEOS.md


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:

https://appsource.microsoft.com/en-us/product/power-bi/microsoftdynsmb.bc_telemetry_pbi_app

(for environment telemetry)

or

https://appsource.microsoft.com/en-us/product/power-bi/microsoftdynsmb.bc_telemetry_pbi_app_isv_version

(for app telemetry)?

要查看或添加评论,请登录

社区洞察

其他会员也浏览了