SentryOne Plan Explorer: An Origin Story
Published On: June 17, 2020
Categories: Plan Explorer, Query Plan Analysis 0
This year, SentryOne Plan Explorer is 10 years old. Recently, I reminisced with Greg Gonzalez (b|t) and Aaron Bertrand (b|t) about the decade-long journey of our favorite query tuning tool. We were there for all of it, and now you can be, too!
The earliest hints of Plan Explorer remind me of a film I watched years ago with my kids. Released in 2005, the movie Robots features the tagline, "See a need, fill a need." When I think about the innovation that happens at SentryOne, my mind goes back to this short and powerful message.
Greg saw a need in his own work, and I was seeing a need in the field with our customers, for a way to go beyond identifying high-impact queries. DBAs and developers needed a way to tune queries surfaced by SentryOne SQL Sentry's Top SQL without fiddling with a lot of extra tools to get there. We were already building integration with SQL Server Management Studio (SSMS), which included graphical query plans, so the original thought was to extend that integration from SentryOne with a link that opened plans in SSMS from Top SQL in SQL Sentry.
It seemed like an elegant solution that would allow us to reuse some code, but it wasn't long before Brooke Philpott discovered that we wouldn't be able to get what we needed this way. That particular part of SSMS wasn't exposed to us in the manner we needed. Par for the course, we weren't going to let that stop us from filling the need. Greg and Brooke dug into the problem to discover a mix of documentation, flow controls, and ingenuity that would provide the foundation for building our own query plan visuals.
Armed with the understanding that we could render graphical plans ourselves, Greg started isolating several areas that could help people use query plans more easily and productively to tune SQL Server queries. This work would form the basis for visual plans in SQL Sentry and set the stage for something that would become accessible to everyone later on.
I love this early account of Plan Explorer from before it was known as Plan Explorer. It demonstrates how something that blocks our path can ultimately take us in a better direction. If we hadn't run into limitations with SSMS integration, Plan Explorer might not exist today!
Plan Explorer Stands Alone
Plan analysis in SQL Sentry was very popular with our customers. It also caught the attention of SQL Server MVP Aaron Bertrand. He had been a customer for years already, and this feature landed squarely in query tuning, which was an area of interest and expertise for Aaron. At the same time, Greg was analyzing the great interest shown by customers. He considered the sysinternals tools that we had all used frequently over the years. He came to the conclusion that we could provide something that helped many people over a long period of time in the same manner.
Aaron joined our team as a product consultant and advisor, and we set out to offer the plan analysis features as a standalone tool. One of the earliest "problems" we tackled was naming the new tool. If you've never named a product before, I can tell you it's not easy. This naming process took a while, but I'll claim credit for the name. Because brilliant minds really do think alike, I had been considering my regular use of Process Explorer from sysinternals, and I had no idea that Greg's thought process had similar roots. The Plan Explorer name stuck.
"There is no support so strong as the strength that enables one to stand alone."
- Ellen Glasgow
The Ultimate Plan Explorer
If you journey back in time by reading this blog post, you might recall when we decided to make all features of Plan Explorer free. It's hard to imagine things being different now, but prior to that decision, there were two editions of Plan Explorer—FREE and PRO. FREE included most of the capabilities everyone uses daily, and PRO added some nice features for collaboration, presentation, and, if I recall correctly, the deadlock viewer.
We put a lot of R&D into Index Analysis and Live Plan Replay, and the intent was to provide those features in a new ULTIMATE edition of Plan Explorer. We were so far down this path that I even announced ahead of time and provided a preview to attendees on Tim Ford's SQL Cruise. We later discovered that we had built something we wanted everyone to experience, and we wanted to pay back the community that had taken us so far in the world of SQL Server performance. Greg made the call to remove all the paid editions of Plan Explorer and deliver all features, outside of the ones that require SQL Sentry integration, in one free edition of Plan Explorer.
As I look back now, it's easy to see that the true ultimate edition of Plan Explorer is the one that everyone can benefit from. Our paid products speak for themselves, and Plan Explorer is a great way to become familiar with the quality of our work without having to go through a budgeting process.
Everyone and Everywhere
In 2018, we were already planning to make use of advances in web browser technology. Up to then, we simply couldn't achieve some of the things we wanted to provide in the browser and have it perform well. Aaron and our developers came together to build a browser-based plan viewer derived from existing Plan Explorer technology. Before that solution ever saw daylight, Azure Data Studio emerged as a companion and potential alternative to SSMS. Aaron wanted Plan Explorer to be available to Azure Data Studio users, too.
By leveraging some work for the browser-based plan viewer, we created an Azure Data Studio extension for Plan Explorer. The preview of the Plan Explorer extension for Azure Data Studio landed in August of 2019. Today, that technology is used not only in the Plan Explorer extension for Azure Data Studio but also SentryOne Monitor and SentryOne Portal.
The Plan Explorer extension for Azure Data Studio lets us experience the extensible framework Microsoft has provided in tools such as VS Code and Azure Data Studio. We're looking forward to doing more with these platforms in the future.
Onward and Upward
There have been dozens of Plan Explorer releases since the earliest versions. If you review the cumulative change list, you can journey through the features and bug fixes over time. One of the most recent releases demonstrates our commitment to continuing to "fill the need" as Greg demonstrates in his sqlperformance.com post on how the recent update visualizes the "tipping point" for index operations in query plans.
A fun fact about the change list is that it starts with version 6.0 rather than version 1.0. Not many people know why. Plan Explorer shares its codebase with SQL Sentry. The first simultaneous release for both integrated Plan Explorer in SQL Sentry and standalone Plan Explorer was version 6.0. To easily maintain the integrity of that shared codebase, we kept the version at 6 for Plan Explorer.
We still have plans (pun intended) for Plan Explorer. Aaron has moved on, but he continues to consult with us on Plan Explorer, and Greg is at the helm along with Suril Jasani. I asked both Greg and Aaron where they see Plan Explorer going in the distant future. Here's what they had to say.
Jason: "Aaron, as a heavy Plan Explorer user, do you still see yourself using Plan Explorer in another 10 years?"
Aaron: "I think so, as much as tools improve at Microsoft they aren't extremely focused on helping in the way PE does. Query tuning will still be happening, and people will still need greater ease in analysis and tuning of query plans."
Jason: "Greg, knowing that we'll likely have twists and turns as we go, how do you envision Plan Explorer in another 10 years?"
Greg: "Software as a Service (SaaS) will continue to evolve and expand into our space. We'll eventually see a SaaS service supporting automated tuning of queries using plan details, integrated with a PE that's still available for local use."
I can't speak for everyone, but knowing that the founders of the tool envision continued use and investment in innovation for the future gets me excited. I can't wait to see where Plan Explorer goes next!
If you haven't tried Plan Explorer yet, don't wait another 10 years. It's free, and it's designed to help you become familiar with query tuning while taking quite a bit of required Google-fu out of the process. Industry MVPs and experts shave hours and days off of their query tuning work with Plan Explorer and so can you! Download Plan Explorer for free.
Already use Plan Explorer? Check out our free training course to learn how to take advantage of Plan Explorer's powerful query analysis and optimization capabilities.
Jason has worked in technology for over 20 years. He joined SentryOne in 2006 having held positions in network administration, database administration, and software engineering. During his tenure at SentryOne, Jason has served as senior software developer and founded both Client Services and Product Management. His diverse background with relevant technologies made him the perfect choice to build out both of these functions. As SentryOne experienced explosive growth, Jason returned to lead SentryOne Client Services, where he ensures that SentryOne customers receive the best possible end to end experience in the ever-changing world of database performance and productivity.