It’s a running joke among the more experienced (read, older) Microsoft Data Platform specialists as to whether you’re #teamprofiler or #teamexevents. I’m very much #teamexevents, but I really don’t care that you’re #teamprofiler. If you want to use the old way of doing things, that’s fine. However, I do have a bone to pick.
Why on earth would you recommend to new data professionals working on modern systems, let’s say at least 2016 or better, who are just getting going on this journey, that they should be using Trace?
What are you smoking?
Trace vs. Extended Events
We’re not just talking about where you are comfortable. I get it. You’ve used Trace/Profiler for 20+ years. Getting it going is all muscle memory. That’s fine. As the kids say, you do you.
However, I need to know, why would you recommend this to others?
You know as well as I do that the implementation of Extended Events is superior to that of Trace Events. Extended Events, all things being equal, puts less of a load on the system than Trace Events. Extended Events uses fewer resources. Extended Events has vastly superior filtering. Extended Events has functionality that Trace does not, such as, capturing the object_id of stored procedures so that you can aggregate calls there without having to clean the T-SQL (just one of HUNDREDS of examples). Extended Events can track causality. Every single new piece of functionality added since SQL Server 2008 (which isn’t even in support any more) has been added to Extended Events.
If you choose to inflict the pain of maintaining two different sets of monitoring code on yourself, that’s fine. You know that you’ll have to do it if you want to monitor new functionality like Availability Groups or what have you. That’s your choice.
Unfortunately, you, the older, more experienced data professional, is the person that is going to grow the next set of data pros. Why, oh why, would you burden them with Profiler and Trace?
I am absolutely not suggesting that you stop using Trace. That’s your call, not mine. I have nothing to do with it. I am suggesting (screaming it) that you absolutely stop recommending Trace to new people, running new platforms, that truly do not need to ever know what Trace is. They can start fresh with modern, superior, technology, They don’t need to deal with the shortcomings of Trace. Yes, Extended Events has some shortcomings, but guess what, you’ll have to deal with them regardless. Don’t introduce two things, and two sets of problems, when one will do the job, with a single set of problems.
Stop. Just stop.