Wednesday, October 8, 2008

More Fun with v4.1...

I mentioned in my last post how some users weren't even aware of the Performance Advisor dashboard's History mode because of issues with the toolbar buttons. What I didn't mention was that for some an even more significant "hidden" feature was Performance Advisor itself!

First some background.  Both Event Manager and Performance Advisor share the same code base, so you only need one console, service and database for both products.  There were many reasons for taking this approach, including ease of installation via a unified setup program, ease of configuration, and seamless integration possibilities between the products.  For example, we can show you all performance events (heavy SQL, blocks, & deadlocks) on the Event Manager calendar without any configuration (as long as you have a license for both products).

calendar_jump_to_pa

We also enable you to quickly jump back and forth between Event Manager and Performance Advisor via context menus and toolbar buttons.  These menus are shown in both the Event Manager calendar shot above where a block is selected, and below with the same block selected in Performance Advisor.  (I should mention that the easiest way to get from a block on the calendar to the same block in Performance Advisor is actually to double-click it, or right-click and select Open.)

blocking_jump_to_cal

Note how the two products give you a completely different yet complementary view of the same event.  Performance Advisor shows you all of the great details of all versions of the block chain, while Event Manager shows you in chronological fashion how the block was interacting with all other events around the same timeframe (heavy SQL, SQLAgent jobs, SSIS, maint plans, etc.).  You can stare at a grid for hours and not gain the same level of understanding about a performance event as you get after looking at the calendar for a few seconds.  You'll see relationships between events that you never new existed... which enables you to be exponentially more effective when troubleshooting and resolving difficult performance problems.

Hopefully by now you can see some of the great benefits of a single SQL Sentry console for both products.  However, a downside of the single console approach is that, well, there is only one console.  Let me explain.  If each product was its own Windows application, the separation between the products would be quite clear.  There would be little chance of confusion regarding how to monitor (or "watch" in SQL Sentry lingo) a server with each product, how to open the primary screen for each product, etc.

But since we leverage the same Navigator pane that we've always had in Event Manager, and it looks pretty much the same as before, some users had difficulty figuring out how to pull up Performance Advisor.  At first we were puzzled by this, since if you use the context menus it's clear that there are now two sets of Watch and Open child menu items on computer (aka Device) and SQL Server nodes, and you are forced to pick one or the other:

open_context_menus

Ah, but there was yet another way to open the Event Manager calendar in previous versions -- via double-click of the left mouse button.  As it turns out, many existing users had become accustomed to using this approach since it's faster/easier.  Therein lied the "problem".  Although in v4.0 we had added a User Preference to control the "default view" (or product) when left-clicking a node, we had set this to "Event Manager" for upgrades to avoid changing behavior for existing users.  So if you were a left-clicker, unless you went into the User Prefs and adjusted this, you'd continue to get the Event Manager calendar and never see Performance Advisor!  Right.  2+ years of effort down the drain :O

After many hours of careful deliberation, to address this problem we decided to introduce a new feature in v4.1 called the "Product Selector" ;)  Now what you will get by default when you double-click a computer or SQL Server in the Navigator is this screen:

product_selector

The screen actually serves a few purposes:  1) to let you know you have multiple products available, 2) to allow you to continue to double-click and let you choose which product to open, and 3) to allow you to adjust the new "default view" User Pref via the "Default" column checkbox.

NOTE: All Event Manager users who upgrade to v4.x get a fully functional 30-day, 5-server trial for Performance Advisor for your efforts, so #1 applies to you as well.

#3 only comes into play if you deselect the "Always prompt me" checkbox, after which point you will no longer see the Product Selector... we'll just open the product you checked as the default.

We've already found that this in itself is causing some confusion though!  Some users expected the "Default" checkbox to control which product is pre-selected the next time you see the form, which it does not.  To avoid this, in v4.2 we've simplified the form slightly; we've eliminated the Default column and just use the currently selected product as the default if you ever deselect the "Always prompt me" option.  In addition, the last product selected will always be pre-selected the next time you open the form.

It's truly amazing to me that I was able to fill up an entire blog post with a relatively insignificant topic... although it is indeed typical of types of issues I spend much of my days on.  Hopefully someone out there will find it helpful ;)  Please bear with, this whole blogging thing is still new to me.  I promise to extricate myself from the day-to-day details of UI design & usability issues soon and delve more into how to use SQL Sentry to solve real world performance issues.  Until next time...

No comments:

Post a Comment