I know, I know, I’m on #teamexevents so I think that Extended Events can do no wrong, but let’s address this thought that Profiler is easier.
Now, if we’re strictly talking knowledge, sure, if you’ve got a lot of experience with Profiler/Trace and very little with Extended Events, of course Profiler is easer. However, what I’m told is that Profiler doesn’t require very much set up, while Extended Events does. That’s just wrong, but let’s put it to the test.
For the comparison, we’re not going to do anything special with either tool. I’m just going to start collecting query data with the fewest possible clicks and/or key strokes. I’m going to use both tools short cuts to make this as fast as possible. The goal is, click, connect, BOOM, too much data.
If I’ve done this wrong somehow, let me know.
The fastest way I know to get Profiler up and running, when you already have SQL Server Management Studio open, is to the use the Tools menu. You could set up quick keys or something like that, but you could do the same with Extended Events, and we’re not doing anything special here.
So, let’s count clicks.
- “Tools” menu
- “SQL Server Profiler” menu choice
- Assuming you’re connecting to the same server as you were connected to in SSMS, click connect (although, here, let’s say you logged in using a SQL login, you may have to type the password, but I’m not going to cheat in any way)
- The default trace of Standard is immediately open. Click Run.
BOOM! That’s it. Four clicks to start gathering to much query information. You have to admit, it’s simple. Let’s see how things go with Extended Events.
I’m starting from the same place. I have SSMS open and I’m connected to a server, exactly like Profiler. Again, the goal here is no unfair advantages.
Let’s count clicks.
- Expand “XEvent Profiler” in the Object Explorer window (open by default, so I’m not cheating here)
- Double click “Standard”
BOOM! Too much data. Three clicks.
Honestly, this comparison is crap. Yay! Extended Events won! Who cares.
The real point here is that there really are a lot of misconceptions about Extended Events. People just don’t know enough about how it works. The biggest point of it is not that it’s a replacement for Profiler. The fact is, it’s MORE than a replacement for Profiler. It’s a massive upgrade to 21 year old technology.
It’s not that it can do the same things as Profiler. It can. It’s not that three versus four clicks matters, it doesn’t. It’s that the things you think you know about Extended Events, just may not be true at all.
I’ll do another blog post soon comparing the ease of actually setting up a customized set of metrics in Profiler vs. Extended Events. I think you’re going to be surprised, again.
If you think this little comparison is remarkable, wait until you see all the things that Extended Events can do for you. I’m putting on an all day seminar that covers Extended Events in detail as well as Query Store, Execution Plans and more at DevIntersection in April:
On the other hand, if you want to talk DevOps, I have an all day class at Bits: