Extended Events Profiler (XE Profiler) in SSMS

Starting in SSMS version 17.3, we have an interesting new feature: Extended Events Profiler (XE Profiler). This new feature is in a very early stage, but it seems to be a first step to replace SQL Profiler, which is already deprecated.

Two different session templates appear under the new ‘XE Profiler’ item in object explorer: ‘Standard’ and ‘TSQL’. They are not XE sessions by itself, they are templates. If you double-click one of them, a new live data window opens, capturing the server activity.

XE Profiler

When we open the live data window, SSMS automatically creates a new XE session based on the template. The name of the session is a fixed one, SSMS will check if a session with this name already exists, and create it if not.

XE Profiler Sessions

The templates capture a fixed set of events and we can’t create new templates on this early stage of the feature. The table below shows the events each template captures.

Standard TSQL
existing_connection existing_connection
login login
logout logout
rpc_completed rpc_starting
sql_batch_starting sql_batch_starting

Although we can’t create new templates or change the existing ones, we can make a workaround: If we edit the sessions used by the templates, changing the events and filters, the templates will use these edited sessions.

On this early stage, the final result of this feature is similar to the ‘Watch Live Data’ XE feature and a lot less powerful than SQL Profiler, due to the lack of customization. However, This feature seems to be the first stage for SQL Profiler replacement since it was set as deprecated and, due to that, it deserves our attention.