BC Tip #15 - The Performance Profiler in Business Central
- Ben Cole

- Feb 24
- 4 min read
If Business Central is running slow, try the Performance Profiler.
It records what Business Central is doing during a user session and shows exactly where time is being spent.
Down to the individual objects and extensions in action.
In one real-world case a sales order took 15 seconds to open; the profiler revealed a custom PTE extension conflicting with base app routines.
For the full rundown, check out the YouTube Video and Blog Post below.
Don't forget to subscribe so that you never miss a weekly tip.
Table of Contents
What the Performance Profiler shows
The profiler captures a timeline of execution: which application layers and extensions ran, how long each took, and the exact objects invoked. That visibility is crucial when multiple ISV apps, custom PTE extensions, and base application code all interact during a single user flow.

How to run the profiler
Open Performance Profiler in Business Central.
Click Start to begin recording actions.
Perform the user action you want to investigate (for example, create and post a sales order).
Return to the profiler and click Stop to capture the trace.
The profiler records everything that happens while it is running, so keep the scenario focused on the specific flow you want to diagnose.
Reading the results
After stopping the trace you get a summary that often includes a bar chart showing time by application area. The Microsoft base application frequently consumes a chunk of time, but that alone is not usually the problem. Look at the relative contribution of each extension and object.
Toggle Show technical information to reveal exact execution time by component. This view lists all extensions and shows which ones fired during the recorded flow in a pie chart view.
Scroll down a bit further to the Time Spent by Application Object to see the individual time spent for each object type (Codeunits, Tables, etc.) while your recording was active.
Drill down by object
Use the profiler to get granular. The time-by-object view lets you identify the exact codeunit, page, or function responsible for the delay. That makes it much easier to optimize specific codeunits.
Common causes and quick remediation steps
Custom PTE extensions that hook into base routines — test by disabling or isolating the extension in a sandbox environment.
Multiple ISV apps firing synchronous logic during a single user flow — review event subscribers and move heavy processing to async jobs where possible.
External synchronous calls (webhooks, APIs) that block the flow — change to queued or background processing.
Inefficient Codeunits — use the time-by-object view to pinpoint and optimize processing or loops.
Mixed providers — extensions from different vendors can interact unexpectedly; coordinate fixes or adjustments with the vendors.
Practical workflow when performance is reported
Reproduce the slow action and record a profiler trace.
Check the summary for obvious heavy hitters (base app, specific extension).
Enable technical information and inspect time by object.
Isolate the suspect extension or codeunit and retest.
Work with developers or ISVs to remove conflicts, reduce synchronous work, or optimize code.
FAQ
Will running the profiler further slow down Business Central?
The profiler adds minimal overhead but is not performance-free. It is safe for troubleshooting a single user action, but avoid leaving it running for long periods or using it continuously in a production tenant during normal working hours.
Can I profile in production?
Yes, but be cautious. Record short, focused traces and perform tests during low-impact windows. For complex investigations, reproduce the issue in a test environment first when possible or after hours.
What if multiple apps show significant time in the trace?
Identify the largest contributors first. Temporarily disable or isolate suspect apps, or reproduce the flow with only one extension at a time. Prioritize fixes for extensions with the highest execution time or those that block synchronous processing.
How do I use the profiler to optimize a Codeunit?
Record a trace that exercises the Codeunit, enable technical information, and open the time-by-object view. Focus on database calls, loops, and event subscribers within that Codeunit and refactor lengthy operations or move them to background tasks where appropriate (and possible).
Final takeaway
The Performance Profiler is the quickest route to actionable answers when Business Central feels slow. It surfaces which parts of the system are doing the work and how long each takes, enabling targeted fixes — whether that means tuning a Codeunit, adjusting an ISV extension, or resolving a custom PTE conflict.
Use the profiler early in the troubleshooting process to avoid guesswork and reduce time to resolution.
Ready to optimize your Business Central environment with guidance from a BC expert?
Contact Ben Cole at Ben@BenColeBC.com or (214) 433-0923.
Don't forget to subscribe so that you never miss a weekly tip.

Ben Cole is passionate about making Microsoft Dynamics 365 Business Central work smarter for real people—users and partners alike. With roots in public accounting, Ben’s seen firsthand how automation and clever solutions can transform the Business Central experience. He’s known for breaking down complex topics with a dash of wit and plenty of practical advice. If you want to get more out of Business Central (and maybe even enjoy the process), Ben’s your go-to guide.
(214) 433-0923




Comments