I’ve decided that, in fact, it is time to start moving people off the ancient technology, Profiler. Before, I always said, stay where you’re comfortable. However, keeping people comfortable means that they’re also going to keep promoting Profiler/Trace to new people on new platforms. That is a real problem.
To fix the problem of old school, slow, inferior, methods of data collection, troubleshooting, and consuming metrics, we need to educate people. Extended Events are not simply a replacement for Trace. They’re not simply another way to gather query metrics. No, in fact, this is a whole new tool, with new functionality and a very high level of support and engagement from Microsoft. Extended Events are where all new functionality since 2012 provides mechanisms for monitoring behavior.
As technologists we should not be promoting bad technological choices. We would not recommend poor choices for servers settings, indexing, security, or anything else. Right? Yet, we will recommend people use a technology developed in 1998 and not upgraded or enhanced since 2008 when a superior technology exists. You really think it’s a good idea to recommend to people to use a technology that puts more of a load on the server and potentially can crash it? Why would you carefully choose your indexes and then use the worst possible method to observe their behavior?
Nope. It’s time. Responsible technologists will start switching now (if they haven’t already). Those who insist on using Profiler/Trace on systems from 2012 and up are simply retarding progress and hurting their organizations. It’s no longer defensible.
If you truly believe that you don’t need to upgrade this 22 year old technology, then you’ll be fine with running SQL Server 7 and Windows 98. Don’t want those? Then how is it you can really defend using Profiler/Trace? You can’t, other than comfort. Time to get get uncomfortable.
Watch this space. I’m launching a new series of posts entitled “You Can’t Do That With Profiler”. I’ll be showing you all sorts of things you can’t do with Profiler because it’s old, out of date, and just wrong.
Assuming you’re still here, if you’d like a little help starting that journey, I’ll be teaching Extended Events as well as Query Store and Execution Plans and a little bit more at SQLIntersection this spring:
On the other hand, if you want to talk DevOps, I have an all day class at Bits:
Grant, you’re one of my dearest friends, so I say this with all respect. STOP!
Until they build the feature into SSMS/ADS that allows you to match the output from Extended Events with the output from Perfmon, like you can do in Profiler, then do NOT take away this valuable tool.
I’ve put in a request for this feature to be added to Azure Data Studio, but it’s been shelved. Please vote for this:
https://github.com/Microsoft/azuredatastudio/issues/4995
Allen
No arguments on that one Allen. Of course it’s a problem. However, as useful as that feature is, and it is useful, most people, most of the time, are not using it. It’s not a primary vector for the majority of the use for Profiler/Trace.
So, people are using a tool that is by every possible measure (except this one), not simply inferior, but for certain measures, harmful. You’re right that this is a shortcoming, but at this point, for many, it’s simply a last grasp at the final straw to try to hang on to a tool that most people use just because they’re more comfortable, or, because they have old knowledge (XE doesn’t capture query text, it does, XE doesn’t show parameter values, it does, you can only access the XE data through XML, you can get it other ways, etc.).
I’ve voted up the request, cause you’re right. However, I just can’t agree that this one thing means that everyone, in all situations, should just carry on using an inferior tool. What’s more, promoting that tool use to new people on new platforms.
We would never knowingly promote poor practices in other areas. Why is this an exception?
As I was showing people in my session on Saturday this great feature, I told them that I’d get them on #TeamEE, and I showed them how easy it was to capture and view activity in Extended Events. I’m with you. Just don’t take away an important tool until you provide a useful replacement.
I know you’re on my side, as I’m on yours. I’m not saying take the tool away. Heck, they won’t anyway. I’m saying stop using it, unless, you really have to, must, use it. The use cases for MUST are exceedingly few, so, stop.
Except for Allen’s point, I’m very much with Grant on this.
For me, coordinating Perfmon with what’s happening inside of SQL Server is a critical tool for understanding problems that new/potential clients are having with their present servers before we onboard them. This is a drop-dead show stopper for me, although I realize that I’m a very “special case” (oh, what did I just write???).
As Grant said, my “go to” is Extended Events for nearly (but not completely) everything. As Allen said, when Extended Events don’t implement a critical functionality that I need to get work done, I go back to SQL Profiler in order to get the job done.
Understood. And I can back this approach. I try to emphasize the need for this on modern systems. I know many in the community who are still supporting 2008 & R2, 2005 and even 2000. Of course they’re going to use Profiler/Trace to get the job done. No questions asked and I wouldn’t suggest otherwise. For everyone on 2012 and up though, different story.
I’m liking the aggressive approach to switching people over (to the dark side), there were a few comments on another site about “number of clicks” and it did soften my loathing of XE, I’m going to try more….but one thing, Rather than tell us that profiler is awful, give us the really cool stuff in XE .. I’m looking to learn
Yeah, this was my last anti-profiler screed for a while. I will be posting cool stuff. However, if you look at my blog, I’ve posted a lot of cool stuff over the years. Posting cool stuff alone doesn’t seem to get much focus.
A quick note: All new features since SQL Server 2008 are in XE. Nothing new has been added to trace or is available for trace. The ability to correlate XE trace to Perfmon is there – you just need to take 1 more step (convert the XEL file to a trace file via RML utilities as of 2015). And since this is a very very low use case (informal polling across the globe, I have encountered an average of 1 person using this functionality more than once out of 1000 dbas.
I am not as kind as Grant. Kill Profiler! It needs to go away. The better more useful tool is here and has been here for 12 yrs at this point. It’s time to give Profiler the burial it deserves.
@Mike – if you are looking to learn a lot about XE, check out my library at xevents.jasonbrimhall.info. The enhanced site to replace that library should be live in 2 weeks (sqlxevents.com)
Who am I to argue with Jason.
finishing my thought on this “And since this is a very very low use case (informal polling across the globe, I have encountered an average of 1 person using this functionality more than once out of 1000 dbas.”
It should have read,
And since this is a very very low use case (informal polling across the globe, I have encountered an average of 1 person using this functionality more than once out of 1000 dbas) taking the extra 1 step should not be a deterrent and is easy enough to do.
I “like” the justification that most people aren’t using a particular feature most of the time. Why does anyone think that’s justification for making a change to something else or the elimination of a feature?
Like others have stated, I love ya like a brother (especially your excellent books on the execution plans) but please stop this.
“Change is inevitable… change for the better is not”.
You are right. Not all change is for the better. This one is. I promise, no more rants. However, lots and lots of information supporting this opinion is coming.
Now, THAT I’m looking forward to! Thanks, Grant! As they say, “Use carrots… not canes when you teach”. 😀 And, yeah… on some subjects, I absolutely understand and appreciate how difficult that can sometimes be especially if you’re passionate about the subject. I’ve found that I have to be very careful with the wording I use in some articles and presentations just because I’m so passionate about helping people do it right. In fact, it’s given me a bit of writers block for some articles because I’ll write something and then realize I just bad mouthed a group of people. Whether they deserve it or not is immaterial. We’re teachers and you, my long time and trusted friend, have the same passion and maybe more.