Tuesday, November 22, 2016

Foxhound's New Ping Process

Foxhound 4 is the first database monitor for SQL Anywhere that tests the target database's ability to accept new connections.

Foxhound does this with a special ping process that opens a new connection to the target database via the embedded SQL interface, issues a SELECT @@SPID command and then immediately disconnects.

This is different from the regular Foxhound sampling process which connects to the target database via ODBC and keeps that connection open while it collects multiple samples. It is also different from the SQL Anywhere dbping.exe utility; the Foxhound ping is a low-overhead process that's built in to Foxhound.

The Foxhound ping process comes in three flavors:

  1. As an addition to the Foxhound Monitor sampling process.

    The separate ping process tests the target database's ability to accept new connections as well as providing data for a third measure of response time: ping response time.


  2. As a complete alternative to Foxhound's sampling process.

    Ping-only sampling may be used to check for Alert #1 Database unavailable without storing a lot of data in the Foxhound database.


  3. As an addition to Y/N Sample Schedule settings.

    "P" for ping-only may be specified at various times of the day. For example, ping-only sampling might be scheduled during the overnight hours

    • when a large connection pool is mostly idle and/or

    • when a heavy load from a few connections is expected, and

    • folks care more about availability than about connection-level performance.

The Monitor Options page lets you specify the ping settings for each target database:


With Conflict Comes Confusion


The ping-only sampling option overrides (turns off, disables) several other Foxhound features including
  • Alerts and Alert Email Schedule, except for Alert # 1 Database unavailable,

  • AutoDrop and AutoDrop Schedule,

  • Sample Schedules, even if P-for-ping-only is specified, and

  • Connection Sample Schedules.
Conflicts like those lead to confusion, and confusion leads to Frequently Asked Questions like:

  • "Why aren't Alert emails being sent?"

  • "Why isn't the Sample Schedule working?"

  • "Why aren't blocked connections being dropped?"
The new  Banner Warnings  feature has been added to Foxhound 4 to help deal with confusion caused by conflicts among different options; here's what' you see when you specify ping-only sampling:

Banner warnings appear all over the place in Foxhound 4. That is especially true for ping-only sampling because it affects so many other options; for example, here's what the Sample Schedule section looks like on the Monitor Options page:



Tuesday, November 15, 2016

Friday, November 4, 2016

Foxhound Version 4 Is Now Available

Version 4 of the Foxhound database monitor for SAP® SQL Anywhere® is now available for purchase and download here.

You can see What's New in the FAQ; here are the Top 6 Release-Defining Features:

1. A new custom "ping" process tests separate connections to the target database.


The Foxhound ping process opens a new connection to the target database via the embedded SQL interface, issues a SELECT @@SPID command and then immediately disconnects. This is different from the Foxhound Monitor process which connects to the target database via ODBC and keeps that connection open while it collects multiple samples.

The new ping process comes in three flavors:

  1. As an addition to the Foxhound Monitor sampling process.

    The separate ping process tests the target database's ability to accept new connections as well as providing data for a third measure of response time: ping response time.


  2. As a complete alternative to Foxhound's sampling process.

    Ping-only sampling may be used to check for Alert #1 Database unavailable without storing a lot of data in the Foxhound database.


  3. As an addition to Y/N Sample Schedule settings.

    "P" for ping-only may be specified at various times of the day. For example, ping-only sampling might be scheduled during the overnight hours

    • when a large connection pool is mostly idle, or

    • when a heavy load is expected and nobody much cares about performance.

The Monitor Options page lets you specify the ping settings for each target database:



2. Foxhound now supports SQL Anywhere 17.


Foxhound now supports target databases that run on any version of SQL Anywhere 6 through 17, including 17.0.4.

Foxhound itself will now run on SQL Anywhere 17, or SQL Anywhere 16 build 2127 or later.

Here are some other new features specific to SQL Anywhere 17:

  • Incomplete Reads, Writes columns have been reintroduced for SQL Anywhere 17 target databases

  • Alert #15 - Incomplete I/Os has been reintroduced for SQL Anywhere 17 target databases

  • The Foxhound shortcuts choose SQL Anywhere 17 over 16, and 64-bit over 32-bit, by default

  • Mutex and semaphore locks are now included in the connection-level Current Req Status and Block Reason: fields



3. Context-sensitive Performance Tips have been added throughout the Help.

The Help has been redesigned and expanded to include
  • Performance Tips by the dozen, all over the place, exactly where you need them,

  • details about where the data's coming from (which SQL Anywhere properties) and

  • statements of support (which versions of SQL Anywhere provide which performance measurements).

Here's an example:


Plus, now it's easy to open and close the Help frame any time you want.

  • Each new Foxhound page opens without the Help frame showing,

  • any of the context-sensitive (?) icons opens the Help frame, and

  • the [X] closes it again.

  • When you resize the Help frame before closing it, Foxhound remembers how wide it was when you open it again.

4.  No more pink!  Black and white and grey are now used for highlighting.


Foxhound has always used colors  like this  and  this  to highlight important information.

Foxhound 4 now uses  white-on-black  and  grey  for these reasons:

  • White-on-black text is just as dramatic as any color,

  • monochrome printers do a really bad job with colors, and

  • folks with color vision deficiency might have an easier time with the black-grey-white color scheme.


Foxhound 4 also uses white-on-black to highlight important information about Foxhound settings and status values; for example:

  •  Sampling stopped  when the Monitor is not gathering any data.

  • SPs  NNN  when the Monitor can't call these three stored procedure on the target database: rroad_connection_properties, rroad_database_properties and rroad_engine_properties.

  • Favorable?  YNY  when one or more of the RememberLastPlan, RememberLastStatement and RequestTiming server options are not set on the target server.

  • Purge  Off  when the Foxhound purge isn't deleting anything.

Also, alternating row colors are used for the Monitor, Sample History and other multi-row displays:



5.  Banner warnings  now expose conflicts among different Monitor Options page settings.


Individual settings on the Monitor Options page might be simple to understand and easy to use, but . . . conflicts among different settings aren't so simple or easy.

. . . and these conflicts lead to the most Frequently Asked Questions:

  • Why aren't Alert emails being sent?

  • Why isn't the Sample Schedule working?

  • Why aren't blocked connections being dropped?

Foxhound now warns about these conflicts on the Monitor Options page:



6. let you switch among multiple target databases.


If you're dealing with dozens of databases, you might like this new feature best of all!

It works on the Monitor and Sample History pages, and on the Monitor Options page as well.




   



...see more new features here.