Wednesday, November 15, 2017

Top 10 Cool New Features In Foxhound 4

Version 4 of the Foxhound Database Monitor has been around for a while, long enough for five patches and a new build... long enough for a Top 10 listicle about the best new features:

1. Foxhound Is The Book

Once upon a time (2004) there was a book about SQL Anywhere 9.

Then the book got old and the questions started:
Q: When are you going to write a book about SQL Anywhere Version 11? I really like the Version 9 book.
Eventually (2009) the questions were answered:
A: This blog is that book.
Now, the answer has changed: Foxhound is that book... Foxhound is where the effort's going, especially in the Help.

For example,
  • dozens of new "Performance Tips" have been added,

  • links between related Monitor and Monitor Options topics have been added; for example, between the Cache statistic and Alert #19 Cache size, and

  • the source of each performance statistic is documented; e.g., "The Cache and % of Max fields are displayed for target databases running on SQL Anywhere version 7 and later, and are based on the server-level CurrentCacheSize and MaxCacheSize properties."

2. It's Easy To Open And Close The Book.

In Foxhound 3 the Help was always on display.

The bad news was, the Help was always on display, always taking up room on the screen.

Sure, you could turn off the Help, but that was hard, and once you turned it off it stayed invisible until you turned it on again.

In Foxhound 4 it's easy to close the Help by clicking X, and easy to open again by clicking any of the context-sensitive ? icons... no more checking/unchecking Show Help over on the Foxhound Options page and then having to click refresh.
The Help content is a big part of Foxhound (see Foxhound Is The Book above), now the Help interface is a bit easier to use.

3. Banner Warnings About Unintended Consequences

Every target database has its own full set of Monitor Options in Foxhound, making "options management" the hardest part of using Foxhound.

Couple that with the unintended consequences of "getting it wrong" when you set up conflicts between different options, and "hardest" becomes "really hard". For example, there are no less than five different ways you can accidentally disable the Alert Email Schedule feature.

To combat this problem Foxhound 4 now displays white-on-black banner warnings to immediately flag potential conflicts:
 This Alert Email Schedule has no effect when the Enable Emails checkbox is unchecked (see 1. Global Overrides). 

 This Alert Email Schedule has no effect when the Enable Schedules checkbox is unchecked (see 1. Global Overrides). 

 This Alert Email Schedule has no effect when the Send Alert Emails checkbox is unchecked (see 7. Email Setup).  

 This Alert Email Schedule has no effect when the Alert Email Address(es) field is empty (see 7. Email Setup). 

 Only Alert #1 emails are sent when Ping-Only Sampling is performed (see 16. Ping Settings). 

4. Drop-Down List Boxes Everywhere

It used to be a real chore to switch from one target database to another on the Monitor Options page. Foxhound 4 fixed that with drop-down list boxes spread all over the Monitor Options page that let you switch from target to target.

...but that's not the only place these drop-down list boxes appear.
They let you quickly change from one target to another on the Monitor page itself, and on the Sample History page:
That's what makes this a Cool New Feature: Those list boxes were originally designed just for the Monitor Options page, but it made perfect sense to add them to other pages as well.

5. Disable All Alerts

Sometimes it makes sense to enable only one single Alert when looking for a problem. The new Disable All Alerts buttons on the Monitor Option page make that easy: Turn off all 34 alerts, all at once, and then turn one back on.

Two other buttons were added as well: Enable All Alerts to turn them all back on, and Undo All Alerts to recover from an "Oops!"

6. Support Continues For Adhoc Queries

Unlike the builtin SQL Anywhere Monitor, Foxhound lets you run ISQL queries against all the historical data pertaining to your databases: "It's your data, you own it" is one of the Hallmarks of Foxhound.

Foxhound 4 introduced a whole new Adhoc Queries chapter in the Help, and has added the ID column to the Monitor tab on the Foxhound Menu page so you can see which sampling_id value to use in your queries.

7. Faster Patches

Patches are easier to build for Foxhound 4, and that has made it possible to publish five patches since February.
Patches are popular because (a) you can pick and choose which patch(es) to apply depending of your needs, and (b) patches are fast because you don't have to reinstall Foxhound and upgrade the database.

8. Disk-Versus-Cache Usage

Disk/Cache statistics are displayed for both table and index data, with anything over 1% for extended periods of time indicating a possible performance bottleneck.
These percentages are new to Foxhound 4, and are calculated from the DiskReadTable, CacheReadTable and four other SQL Anywhere statistics that are [cough] less-than-humanly readable.

9. Monitor The Ability To Accept New Connections

Sometimes a SQL Anywhere database loses the ability to accept new connections. Foxhound 3 didn't detect that problem because once it was connected to the target database, it stayed connected.

Foxhound 4 introduced a separate "ping" process that tests the target database's ability to accept new connections.

Also, the time required to make each new ping connection has been added as a third measurement of response time, along with Heartbeat and Sample times.

10. Monitor The Arbiter Server

Foxhound's ability to monitor the Arbiter server in a SQL Anywhere High Availability setup was an unexpected new feature of version 4. It was made possible by the new Ping-Only Sampling feature, and is documented in this blog post.