I saw an interesting thread recently in the SQL Server Community Slack where someone posted about extended events (XE). They were asking about whether XE would have a problem with a situation. The problem wasn't so interesting, but a quote from one of the responders was. The quote was:
The best time to have learned Extended Events was ten years ago. The second best time is today.
I love that, and I tend to agree. If you need to trace what is happening inside your SQL Server, you need to learn how to capture information with Extended Events. That's the best way to dig into the details of how queries affect your system.
It's also hard. I know that whenever I need to use it, which is rare, I have to dig through some articles and docs to understand what thing I need to do. Even having some scripts hasn't helped because it's a sufficiently complex system that unless I use it regularly, I forget how all the filters, targets, events, etc. work.
On one hand, I think it's amazing, and on the other, it's too hard to use. Even when I try the Extended Events profiler, it's so different from Profiler that I find myself getting frustrated at times trying to dig through the information.
I am curious how many of you think XE is easy to configure and if you use it often. What are the places it works well? For those of you that don't use XE or haven't learned, why not? Do you not have to trace what's happening with queries in some detail? Or do you have another way that you dive deep into your system? Or do you not have the need?
If you do want to learn more, we have a short Stairway Series on Extended Events to help you get started, as well as a few other articles. If you're an expert, we'd love a few more on using XE in specific situations.