Choose between more sampling intervals for snapshot and in-client profiling

Enabled for Public preview General availability
Admins, makers, marketers, or analysts, automatically Aug 16, 2023 Oct 2, 2023

Business value

Some releases ago we introduced a great new tool to investigate AL performance, namely profiling—either as the AL profiler for developers in a snapshot debug session from within Visual Studio Code, or as part of the in-client performance profiler accessible to customer admins and consultants as well as developers.

In the in-client performance profiler, and optionally in the AL profiler, sampling is used to determine at what intervals the system monitors what is running. At launch we supported 100ms sampling interval only. Based on feedback we are now allowing the user to choose between 50, 100 and 150ms. This allows for both finer and coarser granularity of insights, for example, to catch smaller operations and get more accurate durations, or to limit dates being captured and displayed to larger operations only.

Feature details

With the launch.json snapshot configuration parameter profileSamplingInterval, AL developers can specify the interval at which the sampling will be collected. Current options are {50ms, 100ms, 150ms}. The default value is 100ms.

Select among 50, 100 and 150ms sampling internal in launch.json configuration for snapshots

Likewise, in the in-client performance profiler, there is a new Settings action, where you can select the same sampling internal options. Again, 100ms is the default.

New setting in in-client performance profiler for sampling interval

Tell us what you think

Help us improve Dynamics 365 Business Central by discussing ideas, providing suggestions, and giving feedback. Use the forum at https://aka.ms/bcideas.

See also

Initialize a snapshot debugging session on a cloud production environment (docs)