Help for Foxhound 5.0.5486a

Table of Contents     [RisingRoad]
search engine by freefind advanced


Foxhound 5 

7. The Monitor Options Page

The Monitor Options page lets you set the default Alerts criteria as well as the Alerts criteria for individual target databases. It also allows you to force the default Alerts criteria onto all target databases, and to manage multiple Monitor sessions (define, start, stop and delete) using a tab-delimited file of connection strings.

The Monitor Options Menu

Global Settings

1. Global Overrides

2. Manage Multiple Monitor Sessions

Target-Specific Settings

4. Save And Restore Monitor Options

How The Use Extreme Settings Button Works

5. Sample Schedule

6. Connection Sample Schedule

7. Email Setup

8. Alert Email Schedule

9. Alert Criteria

11. AutoDrop Schedule

12. AutoDrop Criteria

13. Do-Not-AutoDrop Lists

14. Change Target Settings

15. Monitor Connection Settings

16. Ping Settings

17. Flag Settings

18. Server Messages


Foxhound 5 7. The Monitor Options Page 
The Monitor Options Menu

The drop-down lets you choose the default settings or the sampling id and target database name of an existing sampling session.

The Help button is a context-sensitive link to this Help topic. This button appears in many locations, each of them a link to a different Help topic in this frame.

The New Menu link opens the Foxhound Menu page in a new browser window or tab. This link appears on every Foxhound page to make it easy to look at multiple databases at the same time.

The Monitor link opens the Monitor page for the target database selected in the drop-down list box. This link is disabled for "0 - [Default Settings]".

The History link opens the Sample History page for the target database selected in the drop-down list box. This link is disabled for "0 - [Default Settings]".

The Foxhound Options link opens the Foxhound Options page in a new browser window or tab.

The About link opens the About Foxhound page in a new browser window or tab.

The Help link opens the Table of Contents.

The "Mmm Dd yyyy Hh:nn:ss AA Foxhound5" field tells you the current time, and that you're looking at Version 5 of Foxhound... which might be helpful if you print or capture the screen.

the Login / Logout link appears if the Administrator Authentication feature has been enabled. Login means you're in Read-Only mode and you can switch to Administrator mode, and Logout means the opposite. If you don't see either link, you're (effectively) in Administrator mode.


Foxhound 5 7. The Monitor Options Page 
1. Global Overrides

This section lets you quickly (and temporarily) turn off certain features without changing (or affecting) the dozens of other settings that otherwise control how those features work.

The Enable Emails checkbox lets you turn off the Alert email facility for all target databases being monitored by Foxhound.

This checkbox does not change any other email settings, but it does override their effect when you uncheck this checkbox.

When you check this checkbox again, all the other email settings take effect again.

The Enable Schedules checkbox lets you turn off all the Schedule facilities for all target databases being monitored by Foxhound.

This checkbox does not change any other schedule settings, but it does override their effect when you uncheck this checkbox.

When you check this checkbox again, all the other schedule settings take effect again.

The Enable AutoDrop checkbox lets you turn off the AutoDrop facility for all target databases being monitored by Foxhound.

This checkbox does not change any other AutoDrop settings, but it does override their effect when you uncheck this checkbox.

When you check this checkbox again, all the other AutoDrop settings take effect again.

You must click if you want your changes saved. Any one the Save buttons will save all the changes you have made anywhere on this page.


Foxhound 5 7. The Monitor Options Page 
2. Manage Multiple Monitor Sessions Performance Tip: This section makes it easier to manage the Monitor Options for dozens of target databases.
Here's another tip: If you're new to Foxhound, get familiar using the other sections for one or two target databases before using this section to manage more databases.

The Connection Strings file: field lets you provide the file specification for a text file containing connection strings for multiple target databases.

The file contains one line per target database, with each line terminated by a carriage return - line feed pair ('\x0d\x0a'). Each line contains two fields, separated by a single tab character ('\x09'). The first field contains a unique name for the connection string, and the second is the connection string itself. Here is and example:
ddd001	ENG=benchmark; DBN=ddd001; UID=dba; PWD=sql; DRIVER=SQL Anywhere 16;
ddd002	ENG=benchmark; DBN=ddd002; UID=dba; PWD=sql; DRIVER=SQL Anywhere 16;
ddd003	ENG=benchmark; DBN=ddd003; UID=dba; PWD=sql; DRIVER=SQL Anywhere 16;
ddd004	ENG=benchmark; DBN=ddd004; UID=dba; PWD=sql; DRIVER=SQL Anywhere 16;

The button will save all the changes you have made anywhere on this page, including the Connection Strings file.

The Connection Strings file is used when you press each of the following four buttons. You can create different files for different purposes; e.g., for starting and stopping a large number of Monitor sessions in smaller batches.

Note: If you enter a new value in the Connection Strings file field, and then press one of the other buttons Create Connection Strings, etc., the new Connection Strings file value will be saved in the Foxhound database even though you didn't press Save. In this case, only that value will be saved, not any of the changes you might have made elsewhere on this page.

The button uses the data in the Connection Strings file to create or replace Connection Strings in the Foxhound database.

After pressing this button, the individual connection strings will be visible in the String tab of the Foxhound Menu page. However, the target databases won't be visible in the Monitor tab of the Foxhound Menu page unless the connection strings had previously existed and monitoring had been started at some point in the past.
Performance Tip: The Create Connection Strings button can be used to safely change connection strings that are already in use.
In particular, if one or more of the connection string names are already in use (samples are already being gathered, or have been gathered in the past), this button will change the connection strings but it won't affect those sampling sessions until they are stopped and restarted... and you can do that as a group using the other buttons in this section, or individually with the Stop Sampling and Start Sampling buttons on other pages.

The button reads the connection string names from the Connections Strings file and starts a Monitor session for each corresponding target database if that session is not already running or in the process of starting.

After pressing this button, the target databases will be visible in the Monitor tab of the Foxhound Menu page.

The button reads the connection string names from the Connections Strings file and stops the Monitor session for each corresponding target database if it is running or cancels that session if it is in the process of starting.

After pressing this button, the target databases will still be visible in the Monitor tab of the Foxhound Menu page.

The button reads the connection string names from the Connections Strings file and deletes the Monitor session for each corresponding target database if that session is not already running or in the process of starting.

After pressing this button, the target databases will no longer be visible in the Monitor tab of the Foxhound Menu page. However, the connection strings will still be visible in the String tab of the Foxhound Menu page.


Foxhound 5 7. The Monitor Options Page 
3. [ removed ]

No, you're not missing anything... this section became obsolete and was removed :)


Foxhound 5 7. The Monitor Options Page 
4. Save And Restore Monitor Options The buttons in this section let you manipulate entire sets of Monitor Options in different ways.

Performance Tip: Like section 2. Manage Multiple Monitor Sessions, this section makes it easier to manage the Monitor Options for multiple target databases.

...and again: If you're new to Foxhound, get familiar using the other sections for one or two target databases before using this section to manage more databases.

The lets you pick which set of Monitor Options to work on.

The button does two things:

The button does two things:

The button does two things:

The button does two things:

The button does two things:


Foxhound 5 7. The Monitor Options Page 
How The Use Extreme Settings Button Works

Here's what the Use Extreme Settings button does and doesn't do...

   -- 1. Global Overrides

   -- Nothing is affected by the Use Extreme Settings button...
   -- Enable Emails 
   -- Enable Schedules
   -- Enable AutoDrop

   -- 2. Manage Multiple Monitor Sessions

   -- Nothing is affected by the Use Extreme Settings button...
   -- Connection Strings file: and all the buttons

   -- 4. Save And Restore Monitor Options

   -- Nothing is affected by the Use Extreme Settings button...
   -- (except for the fact this is where the Use Extreme Settings is located)

   -- 5. Sample Schedule

   -- Everything is affected by the Use Extreme Settings button...
   -- Enforce the Sample Schedule = checked
   -- Ddd = Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.

   -- 6. Connection Sample Schedule

   -- Everything is affected by the Use Extreme Settings button...
   -- Enforce the Connection Sample Schedule = checked
   -- Ddd = Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.

   -- 7. Email Setup

   -- Some settings may be affected by the Extreme Settings button...
   -- Use HTML in emails:                     unaffected
   -- Attach files to emails:                 unaffected
   -- Send Alert emails                       = checked if Email Address(es) for Alerts: is not empty
   -- Send AutoDrop Notice emails             = checked if Email address(es) for AutoDrop Notices: is not empty 
   -- Email Address(es) for Alerts:           unaffected
   -- Email address(es) for AutoDrop Notices: unaffected
   -- Same address(es) as for Alerts:         unaffected

   -- 8. Alert Email Schedule

   -- Everything is affected by the Use Extreme Settings button...
   -- Enforce the Connection Sample Schedule = checked
   -- Ddd = Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.

   -- 9. Alert Criteria

   -- Everything is affected by the Use Extreme Settings button...
   -- All Alert #nn enabled:     = checked
   -- All threshold settings     = extreme values

   -- 11. AutoDrop Schedule

   -- Everything is affected by the Use Extreme Settings button...
   -- Enforce the AutoDrop Schedule = checked
   -- Ddd = Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.

   -- 12. AutoDrop Criteria

   -- Nothing is affected by the Use Extreme Settings button...
   -- AutoDrop #1 enabled: and threshold settings     - unaffected
   -- AutoDrop #2 enabled: and threshold settings     - unaffected 
   -- AutoDrop #3 enabled: and threshold settings     - unaffected 
   -- AutoDrop #4 enabled: and threshold settings     - unaffected 
   -- AutoDrop #5 enabled: and threshold settings     - unaffected  
   -- AutoDrop #6 enabled: and threshold settings     - unaffected  

   -- 13. Do-Not-AutoDrop Lists

   -- Nothing is affected by the Use Extreme Settings button...
   -- Do-Not-AutoDrop User Id List enabled:                                             - unaffected
   -- Exclude this semicolon-separated list of user ids from being AutoDropped:         - unaffected
   -- Do-Not-AutoDrop Connection Name List enabled:                                     - unaffected
   -- Exclude this semicolon-separated list of connection names from being AutoDropped: - unaffected

   -- 14. Change Target Settings

   -- Nothing is affected the Use Extreme Settings button...
   -- RememberLastPlan -zp:         - unaffected
   -- RememberLastStatement-zl:     - unaffected
   -- RequestTiming-zt:             - unaffected

   -- 15. Monitor Connection Settings

   -- Everything is affected by the Use Extreme Settings button...
   -- Enable SET TEMPORARY OPTION DEDICATED_TASK = ON;    = checked
   -- Set the connection name template to                 = Foxhound-Monitor-nnnn

   -- 16. Ping Settings

   -- Everything is affected by the Use Extreme Settings button...
   -- Perform Ping-Only Sampling                             = unchecked (because ping-only sampling is not an aggressive choice)
   -- Include Separate Ping with each successful sample.     = checked
   -- Include Separate Ping with each lost sample.           = checked
   -- Include Separate Ping repeatedly during outages.       = checked
   -- Ping Connection Name                                   = Foxhound-ping-nnnn

   -- 17. Flag Settings

   -- Everything is affected by the Use Extreme Settings button...
   -- All Flag #nn enabled:      = checked
   -- All threshold settings     = extreme values               

   -- 18. Server Messages

   -- Everything is affected by the Use Extreme Settings button...
   -- Gather server messages from a non-OFSS target database.                       = checked
   -- Display server messages on the Foxhound Monitor and Sample History pages.     = checked


Foxhound 5 7. The Monitor Options Page 
5. Sample Schedule

The Enforce the Sample Schedule checkbox lets you enable the automated Sample Schedule feature for this target database, which in turn lets you turn sampling off and on at different times of the day.

While a Sample Schedule is in effect for a particular target database, Foxhound does not allow sampling to be manually started or stopped via the "Start Sampling" or "Stop Sampling" buttons on the Monitor or Foxhound Menu pages.

Instead, a link to the Monitor Options page is displayed: "...Sample Schedule in effect" on those pages.

Each Sample Schedule consists of 7 strings of 96 characters...

     AM                                              PM     Y,y for yes, P,p for ping, other for no          
     12  1   2   3   4   5   6   7   8   9   10  11  12  1   2   3   4   5   6   7   8   9   10  11                                
Mon  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Tue  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY  
Wed  ...............................................^................................................ 
Thu  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY  
Fri  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Sat  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Sun  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

Here's how it works:

You must click if you want your changes saved. Any one the Save buttons will save all the changes you have made anywhere on this page.


Foxhound 5 7. The Monitor Options Page 
6. Connection Sample Schedule

The Enforce the Connection Sample Schedule lets you enable the automated Connection Sample Schedule feature for this target database, which in turn lets you turn the collection of connection-level sample data off and on at different times of the day.

The Connection Sample Schedule has no effect for periods where the Sample Schedule has turned sampling off, or if sampling has been manually stopped.

The Connection Sample Schedule has no effect when the Foxhound Options - Connection Sample Threshold has suppressed the collection of connection-level data because the threshold connection count is exceeded.

Each Connection Sample Schedule consists of 7 strings of 96 characters...

     AM                                              PM           
     12  1   2   3   4   5   6   7   8   9   10  11  12  1   2   3   4   5   6   7   8   9   10  11                                
Mon  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Tue  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY  
Wed  ...............................................^................................................ 
Thu  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY  
Fri  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Sat  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Sun  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

Here's how it works:

You must click if you want your changes saved. Any one the Save buttons will save all the changes you have made anywhere on this page.


Foxhound 5 7. The Monitor Options Page 
7. Email Setup

Use HTML in emails:
Attach files to emails:
Protocol://host:port for URLs in emails:
Send Alert emails:
Email address(es) for Alerts:
Send Test Alert Email
Send AutoDrop Notice emails:
Email address(es) for AutoDrop Notices:
Send Test AutoDrop Email

See also...
Foxhound Options - 2. Global Email Settings
How To Configure Foxhound To Use The SendGrid SMTP Relay Service For Sending Email Messages


Foxhound 5 7. The Monitor Options Page 7. Email Setup 

The Use HTML in emails: checkbox specifies whether or not you want Foxhound to include any HTML-formatted text in the body of Alert and AutoDrop Notice emails. This only affects the bodies of the emails, not the attached files (which are optional but always contain HTML if they are requested).

Note that the Use HTML in emails: checkbox applies to both Alert and AutoDrop Notice emails.


Foxhound 5 7. The Monitor Options Page 7. Email Setup 

The Attach files to emails: checkbox specifies whether or not you want Foxhound to attach HTML files containing Foxhound Monitor data to the Alert and AutoDrop Notice emails. to include any HTML-formatted text in the body of Alert and AutoDrop Notice emails.

Note that the Attach files to emails: checkbox applies to both Alert and AutoDrop Notice emails.


Foxhound 5 7. The Monitor Options Page 7. Email Setup 

The Protocol://host:port for URLs in emails: field is an optional override for the Default value: calculated by Foxhound.

Here's the whole story:

When you check Use HTML in emails: Foxhound embeds HTML links inside Alert and AutoDrop emails.

These links let the email recipient jump directly to the relevant Sample History pages in Foxhound:

   <A HREF="xxx/foxhound?t=rroad_history_frameset&zi=3&sn=76395&sf=Pick"...>2019-11-29 14:30:08</A> ...

where 'xxx' represents the 'protocol://host:port' portion of the URL.

If you leave Protocol://host:port for URLs in emails: empty, Foxhound calculates the Default value: every time an email is created, as follows:

    IF PROPERTY ( 'HttpsAddresses' ) returns one or more values 
    THEN Foxhound uses the first value; e.g., 'https://192.168.2.10:443'

    ELSEIF PROPERTY ( 'HttpAddresses' ) returns one or more values 
    THEN Foxhound uses the first value; e.g., 'http://192.168.2.10:80'

    ELSE Foxhound uses 'http://localhost' -- this "shouldn't happen" :)

    END IF

If you don't want to use the (possibly varying) Default value: put your own fixed value in the Protocol://host:port for URLs in emails: field.

The reason the Default value: may vary is because it is determined by the dbsrv17.exe -xs option every time Foxhound is started.

If you omit both 'https://' and 'http://' from your own fixed value, Foxhound will append one as follows:

    IF PROPERTY ( 'HttpsAddresses' ) returns one or more values    
       THEN Foxhound appends 'https://'
       ELSE Foxhound appends 'http://'
    END IF


Foxhound 5 7. The Monitor Options Page 7. Email Setup 

The Send Alert emails: checkbox specifies whether or not you want Alert, All Clear and Cancelled emails to be sent.


Foxhound 5 7. The Monitor Options Page 7. Email Setup 

Use the Email address(es) for Alerts: field to specify one or more email addresses, separated by semicolons, that will receive Alert, All Clear and Cancelled emails if they are sent.

See also How To Configure Foxhound To Use The SendGrid SMTP Relay Service For Sending Email Messages.


Foxhound 5 7. The Monitor Options Page 7. Email Setup 

The button may be used to check that the Alert email settings are correct.

The Test result: field will display OK if the test Alert email was sent ok, or an error message if there was a problem.

You should also check that the email was received at the other end; just because a message was sent doesn't mean it will actually arrive.

Some "Email failed:" messages are simple:

Email failed: Email address(es) empty when sending "Foxhound Test Alert Email (2019-04-28 09:35:55)".

and others are more complex:

Email failed: subject = "xxx"; 
   email type = xxxx;  
   status code = n;  
   meaning = "xxx";  
   error code = nnn;  
   error text = "xxx";  
   Google search = xxx

subject          the email subject created by Foxhound

email type       SMTP or MAPI

status code      returned by the SQL Anywhere 17 procedures xp_startsmtp, 
                 xp_startmail and xp_sendmail 

meaning          as described by the SQL Anywhere 17 Help topic "Status codes for 
                 MAPI and SMTP system procedures"

                 status code   meaning
                 -----------   -------
                    -1         Unknown error (see error code and text)
                     0         Success
                     1         An invalid parameter was supplied
                     2         Out of memory
                     3         xp_startmail or xp_startsmtp was not called
                     4         Bad host name
                     5         Connect error
                     6         Secure connection error
                     7         MAPI functions are not available
                     8         undocumented (check SMTP server)
                   other       undocumented

error code       returned by the SQL Anywhere 17 procedure xp_get_mail_error_code

error text       returned by the SQL Anywhere 17 procedure xp_get_mail_error_text,
                   with embedded urls reformatted as HTML anchor links.

Google search    search Google for [email type] error [error code]

n/a              used for zero, NULL or empty string values


Foxhound 5 7. The Monitor Options Page 7. Email Setup 

The Send AutoDrop Notice emails: checkbox specifies whether or not you want AutoDrop Notice emails to be sent.


Foxhound 5 7. The Monitor Options Page 7. Email Setup 

Use the Email address(es) for AutoDrop Notices: field to specify one or more email addresses, separated by semicolons, that will receive AutoDrop Notice emails if they are sent.


Foxhound 5 7. The Monitor Options Page 7. Email Setup 

The - or - Same address(es) as for Alerts: checkbox specifies whether or not you want to use the same addresses for AutoDrop Notice emails as are used for Alert emails.

If you check this box, you will notice that any changes you make to Email address(es) for Alerts: are copied to Email address(es) for AutoDrop Notices:


Foxhound 5 7. The Monitor Options Page 7. Email Setup 

The button may be used to check that the AutoDrop Notice email settings are correct.

The Test result: field will display OK if the test AutoDrop Notice email was sent ok, or an error message if there was a problem.

You should also check that the email was received at the other end; just because a message was sent doesn't mean it will actually arrive.

Some "Email failed:" messages are simple:

Email failed: Email address(es) empty when sending "Foxhound Test Alert Email (2019-04-28 09:35:55)".

and others are more complex:

Email failed: subject = "xxx"; 
   email type = xxxx;  
   status code = n;  
   meaning = "xxx";  
   error code = nnn;  
   error text = "xxx";  
   Google search = xxx

subject          the email subject created by Foxhound

email type       SMTP or MAPI

status code      returned by the SQL Anywhere 17 procedures xp_startsmtp, 
                 xp_startmail and xp_sendmail 

meaning          as described by the SQL Anywhere 17 Help topic "Status codes for 
                 MAPI and SMTP system procedures"

                 status code   meaning
                 -----------   -------
                    -1         Unknown error (see error code and text)
                     0         Success
                     1         An invalid parameter was supplied
                     2         Out of memory
                     3         xp_startmail or xp_startsmtp was not called
                     4         Bad host name
                     5         Connect error
                     6         Secure connection error
                     7         MAPI functions are not available
                     8         undocumented (check SMTP server)
                   other       undocumented

error code       returned by the SQL Anywhere 17 procedure xp_get_mail_error_code

error text       returned by the SQL Anywhere 17 procedure xp_get_mail_error_text,
                   with embedded urls reformatted as HTML anchor links.

Google search    search Google for [email type] error [error code]

n/a              used for zero, NULL or empty string values


Foxhound 5 7. The Monitor Options Page 7. Email Setup 

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.


Foxhound 5 7. The Monitor Options Page 7. Email Setup 

Note: More information is required to complete the email setup:

                 SMTP Sender: See Foxhound Options - 2. Global Email Settings.
                 SMTP Server: ...ditto
                   SMTP Port: ...ditto
                SMTP Timeout: ...ditto
SMTP Authorization User Name: ...ditto
 SMTP Authorization Password: ...ditto
   SMTP Certificate Filespec: ...ditto
              MAPI User Name: ...ditto
               MAPI Password: ...ditto


Foxhound 5 7. The Monitor Options Page 
8. Alert Email Schedule

The Enforce the Alert Email Schedule lets you enable the automated Alert Email Schedule feature for this target database, which in turn lets you turn the sending of Alert emails off and on at different times of the day.

Each Alert Email Schedule consists of 7 strings of 96 characters...

     AM                                              PM           
     12  1   2   3   4   5   6   7   8   9   10  11  12  1   2   3   4   5   6   7   8   9   10  11
Mon  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Tue  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY  
Wed  ...............................................^................................................ 
Thu  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY  
Fri  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Sat  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Sun  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

Here's how it works:

You must click if you want your changes saved. Any one the Save buttons will save all the changes you have made anywhere on this page.


Foxhound 5 7. The Monitor Options Page 
9. Alert Criteria

Alert #1 - Database unresponsive

Alert #2 - Long heartbeat

Alert #3 - Long sample time

Alert #4 - CPU usage

Alert #5 - Database disk space

Alert #6 - Temp disk space

Alert #7 - Log disk space

Alert #8 - Other disk space

Alert #9 - Arbiter unreachable

Alert #10 - Partner unreachable

Alert #11 - ServerName change

Alert #13 - File fragmentation

Alert #14 - Unscheduled requests

Alert #15 - Incomplete I/Os

Alert #16 - I/O operations

Alert #17 - Checkpoint urgency

Alert #18 - Recovery urgency

Alert #19 - Cache size

Alert #20 - Cache satisfaction

Alert #21 - Temp space usage

Alert #22 - Conn temp space usage

Alert #23 - Blocked connections

Alert #24 - Conn blocking others

Alert #25 - Locks

Alert #26 - Connections

Alert #27 - Connection CPU

Alert #28 - Long transaction

Alert #29 - Cache panics

Alert #30 - Database read-only

Alert #31 - Database updatable

Alert #32 - Rollback log usage

Alert #33 - Uncommitted operations

Alert #34 - Long uncommitted

Alert #35 - Separate ping failed

An alert is a message automatically displayed and/or sent via email whenever one or more target database conditions match user-defined criteria.

The Monitor Options page lets you specify these criteria for a particular target database. Individual criteria may include a threshold amount and/or a duration or waiting period.

The button checks the "Alert enabled" boxes #1 through #34.

The button unchecks the "Alert enabled" boxes #1 through #34.

The button restores the "Alert enabled" boxes #1 through #34 to their previously saved settings.

You must click if you want your changes saved, including those made by Enable All and Disable All. Any one the Save buttons will save all the changes you have made anywhere on this page.


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #1 - Database unresponsive - Foxhound has been unable to gather samples for [1m] or longer.

The Alert #1 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "for xxx or longer" text box specifies an elapsed time duration of 10s or more, using the "d h m s ms" input format; e.g., 10s for 10 seconds, 3d for 3 days, 1h 30m for 1 hour and 30 minutes.

The term "unresponsive" means that from at least one client's point of view (Foxhound's) the target database server is not responding at all.

This Alert is issued if

That means no Alert #1 will be produced for a brand-new sampling session that hasn't recorded any successful samples yet no matter how much time has passed, but checking for Alert #1 starts as soon as a successful sample is recorded or sampling is stopped and started.

Performance Tip: This Alert may mean the target database is down or catatonic; it definitely means at least one client connection (Foxhound itself) can't get any work done.

If the target database is a High Availability secondary database and that database fails, this Alert will draw your attention to that fact because Foxhound can't reconnect; it's not a failover situation.

Performance Tip: If Alert #1 and All Clear #1 messages appear repeatedly, along with up-and-down changes in the multiprogramming level (Max Req), that may indicate the server is thrashing while it tries to determine the best value of Max Req.

If the computer is dedicated to running this SQL Anywhere server and no other process of importance, consider disabling the dynamic tuning of the multiprogramming level by specifying the dbsrv -gna 0 and -gn options to permanently set a fixed value. With a dedicated computer there may be no need for SQL Anywhere to perform extra work changing the multiprogramming level up and down.

A subsequent All Clear #1 is issued when a subsequent successful sample is recorded; there is no waiting period for this.

The definition of "successful sample" depends on whether Ping-Only Sampling is in effect:

Performance Tip: When Ping-Only Sampling is in effect, Alert #1 - Database unavailable will let you know when Foxhound is unable to connect to the target database.

However, if Ping-Only Sampling is not in effect, Alert #35 - Separate ping failed may be used to let you know when the target database is not accepting new connections even though Foxhound remains connected and is successfully gathering sample data; see Include Separate Ping with each successful sample below.

Alert #1 - Database unresponsive is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on Foxhound's ability to gather a sample or execute the ping process.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Interval
Monitor - Response... Heartbeat, Sample, Ping
Monitor - Active Req, Max Req, Unsch Req
Monitor Options - Ping-Only Sampling
Monitor Options - Include Ping
Monitor Options - Sample Schedule 'P' characters
Alert #2 Long heartbeat
Alert #3 Long sample time
Alert #35 Separate ping failed


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #2 - Long heartbeat - The heartbeat time has been [1.0s] or longer for [10] or more recent samples.

The Alert #2 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has been xxx or longer" text box specifies an elapsed heartbeat response time duration of 1ms or more, using the "d h m s ms" input format; e.g., 10ms for 10 milliseconds, 10s for 10 seconds, 3d for 3 days, 1h 30m for 1 hour and 30 minutes.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

The heartbeat time is how long it took for Foxhound to execute the SELECT * FROM DUMMY heartbeat or "canarian" query.

Performance Tip: This Alert may mean response time (latency) is severely degraded: the target database can't respond to simple SELECT * FROM DUMMY queries in a timely fashion.

This Alert is issued when the heartbeat time has met or exceeded the threshold duration for the specified number of recent samples.

A subsequent All Clear #2 is issued when the heartbeat time has remained below the threshold duration for approximately one-half the specified number of recent samples.

Alert #2 - Long heartbeat is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on Foxhound's measurement of the heartbeat query response time.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Response... Heartbeat, Sample, Ping


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #3 - Long sample time - The sample time has been [10.0s] or longer for [10] or more recent samples.

The Alert #3 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has been xxx or longer" text box specifies an elapsed sample collection duration of 0.1s or more, using the "d h m s ms" input format; e.g., 10s for 10 seconds, 3d for 3 days, 1h 30m for 1 hour and 30 minutes.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

The sample time is how long it took for Foxhound to gather all the performance data for one sample.

Performance Tip: This Alert may mean response time (latency) is severely degraded: the target database can't respond to simple queries for SQL Anywhere performance statistics in a timely fashion.

This Alert is issued when the sample time has met or exceeded the threshold duration for the specified number of recent samples.

A subsequent All Clear #3 is issued when the sample time has remained below the threshold duration for approximately one-half the specified number of recent samples.

Alert #3 - Long sample time is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on Foxhound's measurement of the time required to gather all the performance data for one sample.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Response... Heartbeat, Sample, Ping


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #4 - CPU usage - The CPU time has been [90] % or higher for [10] or more recent samples.

The Alert #4 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has been xxx %" text box specifies a percentage of total available CPU time 1 to 100.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

The total available CPU time is measured for the SQL Anywhere database server as a whole, across all processors that are being used by the server.

Performance Tip: This Alert may indicate that high CPU usage is a performance bottleneck.

This Alert is issued when the percentage of available CPU time used has met or exceeded the threshold percentage for the specified number of recent samples.

A subsequent All Clear #4 is issued when the percentage of available CPU time used has remained below the threshold percentage for approximately one-half the specified number of recent samples.

Alert #4 - CPU usage is supported for target databases running on SQL Anywhere 7 and later, and is based on the server-level NumLogicalProcessorsUsed, NumProcessorsAvail, NumProcessorsMax and ProcessCPU properties.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - CPU
Monitor - Connections - CPU, Child Conns
Alert #27 Connection CPU
Connection Flag #5 CPU usage
Connection Flag #24 Total CPU time
AutoDrop #5 CPU usage


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #5 - Database disk space - The free disk space on the drive holding the main database file has fallen below [1GB].

The Alert #5 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has fallen below xxx" text box specifies the amount of free disk space in bytes (minimum 1024), k, M, G or T; e.g., 1000000, 100k, 200M, 5G, 1T.

The free disk space exists outside the file, and does not include free space inside the main database file.

Performance Tip: This Alert may indicate the main (SYSTEM dbspace) file will soon run out of disk space.

This Alert is issued when the free space on the disk drive holding the main (SYSTEM dbspace) file has fallen below the threshold amount.

A subsequent All Clear #5 is issued as soon as the free space on the disk drive holding the main (SYSTEM dbspace) file has risen above or equal to the threshold amount; there is no waiting period as with some other alerts.

Alert #5 - Database disk space is supported for target databases running on SQL Anywhere 8 and later, and is based on the properties returned by the sa_disk_free_space() procedure.
For target databases running on SQL Anywhere 12 and earlier, a user id with DBA authority is necessary for Foxhound to call the sa_disk_free_space() procedure.

For target databases running on SQL Anywhere 16 and later, the MANAGE ANY DBSPACE privilege is required.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - DB DBSpace - Size, Used, Frags, Avail, File
>Alert #13 File fragmentation


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #6 - Temp disk space - The free disk space on the drive holding the temporary file has fallen below [1GB].

The Alert #6 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has fallen below xxx" text box specifies the amount of free disk space in bytes (minimum 1024), k, M, G or T; e.g., 1000000, 100k, 200M, 5G, 1T.

The free disk space exists outside the file, and does not include free space inside the temporary file.

Performance Tip: This Alert may indicate the temporary file will soon run out of disk space.

This Alert is issued when the free space on the disk drive holding the temporary file has fallen below the threshold amount.

A subsequent All Clear #6 is issued as soon as the free space on the disk drive holding the temporary file has risen above or equal to the threshold amount; there is no waiting period as with some other alerts.

Alert #6 - Temp disk space is supported for target databases running on SQL Anywhere 8 and later, and is based on the properties returned by the sa_disk_free_space() procedure.
For target databases running on SQL Anywhere 12 and earlier, a user id with DBA authority is necessary for Foxhound to call the sa_disk_free_space() procedure.

For target databases running on SQL Anywhere 16 and later, the MANAGE ANY DBSPACE privilege is required.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Temp DBSpace - Size, Used, Frags, Avail, File
Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Alert #21 Temp space usage
Alert #22 Conn temp space usage
Alert #32 Rollback log usage
Alert #33 Uncommitted operations
Alert #34 Long uncommitted
Connection Flag #4 Temp space usage
Connection Flag #7 Rollback log usage
Connection Flag #8 Uncommitted operations
Connection Flag #9 Long uncommitted
Connection Flag #23 Total transaction time
AutoDrop #4 Temp space usage


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #7 - Log disk space - The free disk space on the drive holding the transaction log file has fallen below [1GB].

The Alert #7 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has fallen below xxx" text box specifies the amount of free disk space in bytes (minimum 1024), k, M, G or T; e.g., 1000000, 100k, 200M, 5G, 1T.

The free disk space exists outside the file, and does not include free space inside the log file (although there probably won't be much or any free space inside the log file due to it's sequential-write-only nature).

Performance Tip: This Alert may indicate the transaction log file will soon run out of disk space.

This Alert is issued when the free space on the disk drive holding the transaction log file has fallen below the threshold amount.

A subsequent All Clear #7 is issued as soon as the free space on the disk drive holding the transaction log file has risen above or equal to the threshold amount; there is no waiting period as with some other alerts.

Alert #7 - Log disk space is supported for target databases running on SQL Anywhere 8 and later, and is based on the properties returned by the sa_disk_free_space() procedure.
For target databases running on SQL Anywhere 12 and earlier, a user id with DBA authority is necessary for Foxhound to call the sa_disk_free_space() procedure.

For target databases running on SQL Anywhere 16 and later, the MANAGE ANY DBSPACE privilege is required.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Log DBSpace - Size, Used, Frags, Avail, File


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #8 - Other disk space - The free disk space on one or more drives holding other database files has fallen below [1GB].

The Alert #8 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has fallen below xxx" text box specifies the amount of free disk space in bytes (minimum 1024), k, M, G or T; e.g., 1000000, 100k, 200M, 5G, 1T.

The term "other database files" means secondary dbspace files other than the SYSTEM dbspace, transaction log and temporary file.

The free disk space exists outside the files, and does not include free space inside the secondary dbspace files.

Performance Tip: This Alert may indicate one or more other database files will soon run out of disk space.

This Alert is issued when the free space on the disk drives holding the other database files has fallen below the threshold amount.

A subsequent All Clear #8 is issued as soon as the free space on the disk drives holding the other database files has risen above or equal to the threshold amount; there is no waiting period as with some other alerts.

Alert #8 - Other disk space is supported for target databases running on SQL Anywhere 8 and later, and is based on the properties returned by the sa_disk_free_space() procedure.
For target databases running on SQL Anywhere 12 and earlier, a user id with DBA authority is necessary for Foxhound to call the sa_disk_free_space() procedure.

For target databases running on SQL Anywhere 16 and later, the MANAGE ANY DBSPACE privilege is required.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #9 - Arbiter unreachable - The high availability target database has become disconnected from the arbiter server.

The Alert #9 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "high availability target database" is the primary or secondary (mirror) database to which Foxhound is connected; Foxhound cannot connect directly to the arbiter server.

Performance Tip: This Alert tells you when a High Availability setup has become vulnerable to complete failure because the arbiter has become unreachable.

This Alert is issued when the ArbiterState property becomes not 'connected'.

In particular, this Alert is issued when MirrorState <> '' AND ArbiterState <> 'connected' AND ArbiterState <> ''.

A subsequent All Clear #9 is issued when the ArbiterState property becomes 'connected' again.

In particular, a subsequent All Clear #9 is issued when MirrorState = '' OR ArbiterState = 'connected' OR ArbiterState = ''.

Alert #9 - Arbiter unreachable is supported for target databases running on SQL Anywhere 11 and later, and is based on the database-level properties ArbiterState and MirrorState.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Database Disposition
Monitor - Server Name
Alert #10 Partner unreachable
Alert #11 ServerName change
Alert #30 Database read-only
Alert #31 Database updatable
Alert #35 Separate ping failed


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #10 - Partner unreachable - The high availability target database has become disconnected from the partner database.

The Alert #10 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

Performance Tip: This Alert tells you when a High Availability setup has become vulnerable to complete failure because one of the two partners has become unreachable.

The "high availability target database" is the primary or secondary (mirror) database to which Foxhound is connected, and the "partner database" is the other one; i.e., the secondary or primary.

This Alert is issued when the PartnerState property becomes not 'connected'.

In particular, this Alert is issued when PartnerState <> 'connected' AND PartnerState <> ''.

A subsequent All Clear #10 is issued when the PartnerState property becomes 'connected' again.

Alert #10 - Partner unreachable is supported for target databases running on SQL Anywhere 11 and later, and is based on the database-level PartnerState property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Database Disposition
Monitor - Server Name
Alert #9 Arbiter unreachable
Alert #11 ServerName change
Alert #30 Database read-only
Alert #31 Database updatable
Alert #35 Separate ping failed


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #11 - ServerName change - The real server name has changed to [server2], possibly because of an HA failover or OnDemand move.

The "real server name" is the SQL Anywhere partner server name created by the instance of the SQL Anywhere server executable when it starts; e.g., dbsrv17.exe -n partner1_demo

Administrative Tip: This Alert will only tell you about an HA failover if Foxhound is connected to the logical primary server name.

That's because Foxhound can reconnect after the failover and see that the underlying real server name has changed.

If Foxhound is directly connected to the real partner server name, it won't be able reconnect and you'll see Alert #1 Database unavailable instead.

The Alert #11 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

This Alert is issued when the ServerName property changes between one sample to the next.

A subsequent All Clear #11 is issued when the ServerName property remains the same from one sample to the next, and the ArbiterState and PartnerState properties are both 'connected' or both empty.

Alert #11 - ServerName change is supported for target databases running on SQL Anywhere 10 and later, and is based on the server-level ServerName property; e.g., dbsrv16.exe -n partner1_demo
Performance Tip: The "server-level ServerName property" is not at all the same thing as the "ServerName connection parameter". One is a property, the other a parameter; one is at the server level, the other pertains to a connection. One is real, the other is [cough] "logical" :)

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Database Disposition
Monitor - Server Name
Alert #9 Arbiter unreachable
Alert #10 Partner unreachable
Alert #30 Database read-only
Alert #31 Database updatable
Alert #35 Separate ping failed


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #12 - [ removed ]

No, you're not missing anything... this alert was [cough] poorly implemented and was removed :)


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #13 - File fragmentation - There are [1000] or more fragments in the main database file.

The Alert #13 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "xxx or more fragments" text box specifies a count of 2 or more physical file fragments in the SYSTEM dbspace file.

File fragmentation pertains to the external structure of the physical disk file, not the internal structure of the SQL Anywhere table and index data.

Performance Tip: This Alert may indicate that disk I/O is adversely affected... but maybe not, in the case of RAID and SSD drives; internal table and index fragmentation may be more important.

This Alert is issued when the number of fragments has reached or exceeded the threshold amount.

A subsequent All Clear #13 is issued as soon as the number of fragments as fallen below the threshold amount; there is no waiting period as with some other alerts.

Alert #13 - File fragmentation is supported for target databases running on SQL Anywhere 8 and later, and is based on the database-level DBFileFragments property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - DB DBSpace - Size, Used, Frags, Avail, File
>Alert #5 Database disk space


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #14 - Unscheduled requests - The number of requests waiting to be processed has reached [5] or more for [10] or more recent samples.

The Alert #14 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has reached xxx or more" text box specifies a count of 1 or more unscheduled requests.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

A "request" is an atomic internal unit of work processed by the server for a connection, not a client-server communication request from a client application to the SQL Anywhere server.

Performance Tip: This Alert may indicate that some performance bottleneck is preventing the database from processing its workload.

The bottleneck may simply be a Max Req value that is too low (solution: increase the server -gn option), but the problem may be harder than that; for example, if the application design results in excessive blocking and/or too many long-running requests.

This Alert is issued when the number of unscheduled requests has reached or exceeded the threshold amount for the specified number of recent samples.

A subsequent All Clear #14 is issued when the number of unscheduled requests has remained below the threshold amount for approximately one-half the specified number of recent samples.

Alert #14 - Unscheduled requests is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the server-level UnschReq property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Active Req, Max Req, Unsch Req


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #15 - Incomplete I/Os - The current number of incomplete file reads and/or writes has reached [2] or more for [10] or more recent samples.

The Alert #15 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has reached xxx or more" text box specifies a count of 1 or more incomplete database data file operations.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

An incomplete I/O is a file read or write that has been started but not completed.

Performance Tip: This Alert may indicate that there is a performance bottleneck caused by the inability of the disk system to keep up with database activity.

This Alert is issued when the number of incomplete file reads and/or writes has reached or exceeded the threshold amount for the specified number of recent samples.

A subsequent All Clear #15 is issued when the number of incomplete file reads and/or writes has remained below the threshold amount for approximately one-half the specified number of recent samples.

Alert #15 - Incomplete I/Os is supported for target databases running on SQL Anywhere 17, and is based on the database-level CurrRead and CurrWrite properties.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Incomplete Reads, Writes
Monitor - Disk Reads, Disk Writes, Log Writes
Monitor - Connections - Disk Reads, Disk Writes, Log Writes
Alert #15 Incomplete I/O
Connection Flag #12 Disk read rate
Connection Flag #13 Disk write rate
Connection Flag #14 Log write rate
Connection Flag #25 Total disk reads
Connection Flag #26 Total disk writes
Connection Flag #27 Total log writes


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #16 - I/O operations - There have been [1000] or more disk and log I/O operations per second for [10] or more recent samples.

The Alert #16 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "have been xxx or more" text box specifies a count of 1 or more I/O operations per second performed on the database data and transaction log files.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

Disk and log I/O includes page-level input and output operations on the SYSTEM, temporary and secondary dbspace files, plus pages written to the transaction log file. Other files are excluded; e.g., non-dbspace files used by LOAD and UNLOAD statements and by xp_read_file() and xp_write_file() procedure calls.

Performance Tip: This Alert may indicate that heavy disk I/O is a performance bottleneck.

This Alert is issued when the number of I/O operations per second has reached or exceeded the threshold amount for the specified number of recent samples.

A subsequent All Clear #16 is issued when the number of I/O operations per second has remained below the threshold amount for approximately one-half the specified number of recent samples.

Alert #16 - I/O operations is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the server-level DiskRead, DiskWrite and LogWrite properties for target databases running on SQL Anywhere 5 and 6, and on the database-level DiskRead, DiskWrite and LogWrite properties for versions 7 and later.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Incomplete Reads, Writes
Monitor - Disk Reads, Disk Writes, Log Writes
Monitor - Connections - Disk Reads, Disk Writes, Log Writes
Alert #15 Incomplete I/O
Connection Flag #12 Disk read rate
Connection Flag #13 Disk write rate
Connection Flag #14 Log write rate
Connection Flag #25 Total disk reads
Connection Flag #26 Total disk writes
Connection Flag #27 Total log writes


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #17 - Checkpoint urgency - The Checkpoint Urgency has been [100] % or more for [10] or more recent samples.

The Alert #17 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has been xxx % or more" text box specifies a checkpoint urgency percentage 1 or more, which can exceed 100.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

Checkpoint Urgency is the percentage of the SET OPTION PUBLIC.CHECKPOINT_TIME value that has elapsed since the previous checkpoint.

Performance Tip: This Alert may indicate that SQL Anywhere is taking too long between checkpoints, or (more likely) that the CHECKPOINT_TIME option has been set to an unreasonably small value.

Before changing how often SQL Anywhere takes checkpoints, think twice! SQL Anywhere almost always does an excellent job of picking the right time to perform a checkpoint without your help.

This Alert is issued when the checkpoint urgency has reached or exceeded the threshold percentage for the specified number of recent samples.

A subsequent All Clear #17 is issued when the checkpoint urgency has remained below the threshold percentage for approximately one-half the specified number of recent samples.

Alert #17 - Checkpoint urgency is supported for target databases running on SQL Anywhere 7 and later, and is based on the database-level CheckpointUrgency property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Checkpoints, Checkpoint Urgency, Recovery Urgency
Alert #17 Checkpoint urgency


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #18 - Recovery urgency - The Recovery Urgency has been [1000] % or more for [10] or more recent samples.

The Alert #18 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has been xxx % or more" text box specifies a recovery urgency percentage 1 or more, which can exceed 100.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

Recovery Urgency is SQL Anywhere's estimate of the percentage of the SET OPTION PUBLIC.RECOVERY_TIME value that would be required to perform a recovery if the database was suddenly stopped and restarted without a checkpoint; in some cases it can rise far beyond 100%.

Performance Tip: This Alert may indicate that SQL Anywhere is taking too long between checkpoints, or (more likely) that the CHECKPOINT_TIME and/or RECOVERY_TIME options have been set to unreasonable values.

Before changing how often SQL Anywhere takes checkpoints, think twice! SQL Anywhere almost always does an excellent job of picking the right time to perform a checkpoint without your help.

This Alert is issued when the recovery urgency has reached or exceeded the threshold percentage for the specified number of recent samples.

A subsequent All Clear #18 is issued when the recovery urgency has remained below the threshold percentage for approximately one-half the specified number of recent samples.

Alert #18 - Recovery urgency is supported for target databases running on SQL Anywhere 7 and later, and is based on the database-level RecoveryUrgency property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Checkpoints, Checkpoint Urgency, Recovery Urgency
Alert #17 Checkpoint urgency


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #19 - Cache size - The cache has reached [100] % of its maximum size for [10] or more recent samples.

The Alert #19 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "cache has reached xxx % " text box specifies a percentage of the maximum cache size 1 to 100.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

The "cache percentage of maximum" is based on the SQL Anywhere server's understanding of the maximum amount of RAM it can use.

Performance Tip: This Alert may indicate that insufficient memory in the database cache is a performance bottleneck.

However, you may want to disable this alert for target databases running on a dedicated server where the cache size is always set to the maximum, or in a stable environment where the cache size always grows to the maximum and remains there.

This Alert is issued when the cache percentage of maximum has reached or exceeded the threshold percentage for the specified number of recent samples.

A subsequent All Clear #19 is issued when the cache percentage of maximum has remained below the threshold percentage for approximately one-half the specified number of recent samples.

Alert #19 - Cache size is supported for target databases running on SQL Anywhere 7 and later, and is based on the server-level CurrentCacheSize and MaxCacheSize properties.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Cache
Monitor - Cache Panics, Low Memory, Satisfaction.
Monitor - Disk/Cache: Internal Index, Leaf, Table
Monitor - Connections - Low Memory, Cache Satisfaction
Monitor - Connections - Disk/Cache: Internal Index, Leaf, Table
Alert #20 Cache satisfaction
Alert #29 Cache panics
Connection Flag #11 Cache satisfaction


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #20 - Cache satisfaction - The cache satisfaction (hits/reads) has fallen to [90] % or lower for [10] or more recent samples.

The Alert #20 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has fallen to xxx % " text box specifies a percentage cache satisfaction 1 to 99.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

Cache satisfaction is an expression of how often a page lookup in the cache (CacheRead) was satisfied by finding that page in the cache (CacheHits) as opposed to requiring an actual disk read.

Performance Tip: This Alert may indicate that insufficient memory in the database cache is a performance bottleneck.

Performance Tip: In some situations it is inevitable for Cache Satisfaction to drop below 100%; e.g., when a very busy database is starting up, when a very heavy workload starts up, when a process starts rapidly reading old data that has been inactive for a long time, or when the database is much larger than the cache... or any or all of the above.

On the other hand... a rule of thumb for databases in modern times is this: You can never have too much RAM cache.

In the end, you must be the judge: If performance is OK, but you're seeing a lot of Alert #20, disable that alert or lower the threshold (e.g., to 80% etc).

However, if performance is bad, maybe you need more RAM cache.

This Alert is issued when the cache satisfaction has fallen to or below the threshold percentage for the specified number of recent samples.

A subsequent All Clear #20 is issued when the cache satisfaction has remained above the threshold percentage for approximately one-half the specified number of recent samples.

Alert #20 - Cache satisfaction is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the server-level CacheHits and CacheRead properties for target databases running on SQL Anywhere 5 and 6, and on the database-level CacheHits and CacheRead properties for versions 7 and later.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Cache
Monitor - Cache Panics, Low Memory, Satisfaction.
Monitor - Disk/Cache: Internal Index, Leaf, Table
Monitor - Connections - Low Memory, Cache Satisfaction
Monitor - Connections - Disk/Cache: Internal Index, Leaf, Table
Alert #19 Cache size
Alert #29 Cache panics
Connection Flag #11 Cache satisfaction


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #21 - Temp space usage - The total temporary space used by all connections has been [1G] or larger for [10] or more recent samples.

The Alert #21 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has been xxx" text box specifies the amount of temporary space in bytes (minimum 1024), k, M, G or T; e.g., 1000000, 100k, 200M, 5G, 1T.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

Temporary pages are used for many purposes, most often to hold intermediate results during query processing. Even if there is no temporary file, as with an in-memory no write database, temporary space is allocated and used by the engine.

Performance Tip: This Alert may indicate that runaway queries are a performance bottleneck.

This Alert is issued when the total temporary space used has reached or exceeded the threshold amount for the specified number of recent samples.

A subsequent All Clear #21 is issued when the total temporary space used has remained below the threshold amount for approximately one-half the specified number of recent samples.

Performance Tip: The term "temporary file" is misleading and it should be renamed "temporary space" because the data may or may not reside in the actual temporary file (which may not exist at all).

Alert #21 - Temp space usage is supported for target databases running on SQL Anywhere 8 and later, and is based on the database-level PageSize property and the sum of the connection-level TempFilePages property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Temp DBSpace - Size, Used, Frags, Avail, File
Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Alert #6 Temp disk space
Alert #22 Conn temp space usage
Alert #32 Rollback log usage
Alert #33 Uncommitted operations
Alert #34 Long uncommitted
Connection Flag #4 Temp space usage
Connection Flag #7 Rollback log usage
Connection Flag #8 Uncommitted operations
Connection Flag #9 Long uncommitted
Connection Flag #23 Total transaction time
AutoDrop #4 Temp space usage


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #22 - Conn temp space usage - At least one single connection has used [500M] or more of temporary space during [10] or more recent samples.

The Alert #22 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has been xxx" text box specifies the amount of temporary space in bytes (minimum 1024), k, M, G or T; e.g., 1000000, 100k, 200M, 5G, 1T.

The "during xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

Temporary pages are used for many purposes, most often to hold intermediate results during query processing. Even if there is no temporary file, as with an in-memory no write database, temporary space is allocated and used by the engine.

Performance Tip: This Alert may indicate that runaway queries are a performance bottleneck.

This Alert is issued when the maximum temporary space used by an individual connection has reached or exceeded the threshold amount for the specified number of recent samples. Foxhound does not check to see if it's the same connection each time a sample is gathered; it could be different connections.

In other words, at least one connection meets or exceeds the threshold.

A subsequent All Clear #22 is issued when the maximum temporary space used by an individual connection has remained below the threshold amount for approximately one-half the specified number of recent samples.

In other words, no connections meet or exceed the threshold.

Performance Tip: The term "temporary file" is misleading and it should be renamed "temporary" because the data may or may not reside in the actual temporary file (which may not exist at all).

Alert #22 - Conn temp space usage is supported for target databases running on SQL Anywhere version 8 and later, and is based on the database-level PageSize property and the connection-level TempFilePages property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Temp DBSpace - Size, Used, Frags, Avail, File
Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Alert #6 Temp disk space
Alert #21 Temp space usage
Alert #32 Rollback log usage
Alert #33 Uncommitted operations
Alert #34 Long uncommitted
Connection Flag #4 Temp space usage
Connection Flag #7 Rollback log usage
Connection Flag #8 Uncommitted operations
Connection Flag #9 Long uncommitted
Connection Flag #23 Total transaction time
AutoDrop #4 Temp space usage


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #23 - Blocked connections - The number of blocked connections has reached [10] or more during [10] or more recent samples.

The Alert #23 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "reached xxx or more" text box specifies a count of 1 or more blocked connections.

The "during xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

A blocked connection is a connection that cannot get any more work done because some other connection has locked something this connection needs.

A blocked connection is not the same as a deadlock. In most cases, blocked connections wait indefinitely whereas deadlocks are instantly resolved when SQL Anywhere cancels one of the transactions involved.

Performance Tip: This Alert may indicate a serious performance bottleneck caused by locks being held too long; the root cause may be an application program design error.

This Alert is issued when the number of blocked connections has reached or exceeded the threshold amount for the specified number of recent samples.

A subsequent All Clear #23 is issued when the number of blocked connections has remained below the threshold amount for approximately one-half the specified number of recent samples.

Alert #23 - Blocked connections is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level BlockedOn property for target databases running on SQL Anywhere 5.5 through 16, and on the connection-level BlockedOn, LockObjectType and LockObjectOID properties in SQL Anywhere 17.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:
Monitor - Executing, Idle, Waiting Conns
Monitor - Locks Held, Conns Blocked, Waiting Time
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Current Req Status
Monitor - Connections - Blocked By:
Monitor - Connections - Block Reason:
Monitor - Connections - Locked Row Query:
Alert #24 Conn blocking others
Alert #25 Locks
Connection Flag #1 Blocking others
Connection Flag #2 Blocked by other
Connection Flag #6 Locks
AutoDrop #1 Blocking others
AutoDrop #2 Blocked by other
AutoDrop #6 Locks


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #24 - Conn blocking others - At least one single connection has blocked [5] or more other connections during [10] or more recent samples.

The Alert #24 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "blocked xxx or more" text box specifies a count of 1 or more blocked connections.

The "during xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

A blocked connection is a connection that cannot get any more work done because some other connection has locked something this connection needs.

A blocked connection is not the same as a deadlock. In most cases, blocked connections wait indefinitely whereas deadlocks are instantly resolved when SQL Anywhere cancels one of the transactions involved.

Performance Tip: This Alert may indicate a serious performance bottleneck caused by locks being held too long; the root cause may be an application program design error.

This Alert is issued when the maximum number of connections blocked by another individual connection has reached or exceeded the threshold amount for the specified number of recent samples. Foxhound does not check to see if it's the same connection each time a sample is gathered; it could be different connections.

In other words, at least one connection meets or exceeds the threshold.

A subsequent All Clear #24 is issued when the maximum number of connections blocked by another individual connection has remained below the threshold amount for approximately one-half the specified number of recent samples.

In other words, no connections meet or exceed the threshold.

Alert #24 - Conn blocking others is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level BlockedOn property for target databases running on SQL Anywhere 5.5 through 16, and on the connection-level BlockedOn, LockObjectType and LockObjectOID properties in SQL Anywhere 17.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Executing, Idle, Waiting Conns
Monitor - Locks Held, Conns Blocked, Waiting Time
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Current Req Status
Monitor - Connections - Blocked By:
Monitor - Connections - Block Reason:
Monitor - Connections - Locked Row Query:
Alert #23 Blocked connections
Alert #25 Locks
Connection Flag #1 Blocking others
Connection Flag #2 Blocked by other
Connection Flag #6 Locks
AutoDrop #1 Blocking others
AutoDrop #2 Blocked by other
AutoDrop #6 Locks


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #25 - Locks - The number of locks has reached [1,000,000] or more during [10] or more recent samples.

The Alert #25 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has reached xxx or more" text box specifies a count of 1 or more locks.

The "during xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

Locks are a good thing; they keep data from being corrupted. Too many locks, maybe not so much, but definition of "too many" is delightfully vague. For example, SQL Anywhere can handle millions of locks but a single lock is all it takes to block a connection.

Performance Tip: This Alert may indicate that too many locks are being held for too long.

This Alert is issued when the number of locks has reached or exceeded the threshold amount for the specified number of recent samples.

A subsequent All Clear #25 is issued when the number of locks has remained below the threshold amount for approximately one-half the specified number of recent samples.

Alert #25 - Locks is supported for target databases running on SQL Anywhere 10 and later, and is based on the database-level LockCount property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Executing, Idle, Waiting Conns
Monitor - Locks Held, Conns Blocked, Waiting Time
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Current Req Status
Monitor - Connections - Blocked By:
Monitor - Connections - Block Reason:
Monitor - Connections - Locked Row Query:
Alert #23 Blocked connections
Alert #24 Conn blocking others
Connection Flag #1 Blocking others
Connection Flag #2 Blocked by other
Connection Flag #6 Locks
AutoDrop #1 Blocking others
AutoDrop #2 Blocked by other
AutoDrop #6 Locks


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #26 - Connections - The number of connections has reached [1000] or more for [10] or more recent samples.

The Alert #26 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has reached xxx or more" text box specifies a count of 2 or more connections.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

Simply put, a "connection" is a persistent two-way communication path between a client and a SQL Anywhere database.

In the case of the SQL Anywhere server, the definition of "client" continues to evolve to include (and sometimes exclude) internal processes, and so does the definition of "connection". For the most part, however, connections are what exist between your client applications and the database.

Note that only database connections exist, not server connections. That becomes [cough] interesting when you have two or more databases running on one server. For example, Foxhound displays a variety of database-level properties (when they are available) and server-level properties (when the database-level equivalents are not implemented by SQL Anywhere or not reliable).

Performance Tip: This Alert may indicate that heavy client load on the database is a performance bottleneck.

This Alert is issued when the number of connections has reached or exceeded the threshold amount for the specified number of recent samples.

A subsequent All Clear #26 is issued when the number of connections has remained below the threshold amount for approximately one-half the specified number of recent samples.

Alert #26 - Connections is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the database-level ConnCount property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Conns / Parent, Child Conns
Monitor - Connections - Conn #, User, OS User, IP, Name
Monitor - Connections - CPU, Child Conns
Connection Flag #10 Child connections
Connection Flag #19 User id usage
Connection Flag #20 OS user usage
Connection Flag #21 IP address usage
Connection Flag #22 Connection name usage


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #27 - Connection CPU - The approximate CPU time has been [25]% or higher or more for at least one connection during [10] or more recent samples.

The Alert #27 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has been xxx %" text box specifies a percentage of total available CPU time 1 to 100.

The "during xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

The total available CPU time is measured for the SQL Anywhere database server as a whole, across all processors that are being used by the server.

Performance Tip: This Alert may indicate that high CPU usage is a performance bottleneck.

This Alert is issued when the maximum percentage of available CPU time used by an individual connection has reached or exceeded the threshold percentage for the specified number of recent samples. Foxhound does not check to see if it's the same connection each time a sample is gathered; it could be different connections.

In other words, at least one connection meets or exceeds the threshold.

A subsequent All Clear #27 is issued when the maximum percentage of available CPU time used by an individual connection has remained below the threshold percentage for approximately one-half the specified number of recent samples.

In other words, no connections meet or exceed the threshold.

Alert #27 - Connection CPU is supported for target databases running on SQL Anywhere 10 and later, and is based on the connection-level ApproximateCPUTime property and the server-level NumLogicalProcessorsUsed property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - CPU
Monitor - Connections - CPU, Child Conns
Alert #4 CPU usage
Connection Flag #5 CPU usage
Connection Flag #24 Total CPU time
AutoDrop #5 CPU usage


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #28 - Long transaction - The transaction running time has reached [1m] or more for at least one connection during [10] or more recent samples.

The Alert #28 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has reached xxx or more" text box specifies a transaction running time duration of 1s or more, using the "d h m s ms" input format; e.g., 10s for 10 seconds, 3d for 3 days, 1h 30m for 1 hour and 30 minutes.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

The transaction running time is the length of time since the database was first modified by a connection after a COMMIT or ROLLBACK.

While it is possible for a SELECT to acquire locks and thus block other connections (e.g., a shared lock obtained by a SELECT will block an ALTER TABLE), a SELECT does not count as a modification as far as the Transaction Time is concerned.

In other words, a SELECT does not start a transaction.

Performance Tip: This Alert may indicate that a long-running transaction is a performance bottleneck.

This Alert is issued when the maximum transaction running time an individual connection has reached or exceeded the threshold percentage for the specified number of recent samples. Foxhound does not check to see if it's the same connection each time a sample is gathered; it could be different connections.

In other words, at least one connection meets or exceeds the threshold.

Note that the AutoDrop and Alert processes are completely independent; i.e., if the Alert #28 Long transaction criteria are met then the Alert will appear; it doesn't matter what the AutoDrop #3 Long transaction criteria are, and vice versa.

A subsequent All Clear #28 is issued when the maximum transaction running time an individual connection has remained below the threshold percentage for approximately one-half the specified number of recent samples.

In other words, no connections meet or exceed the threshold.

Alert #28 - Long transaction is supported for target databases running on SQL Anywhere 8 and later, and is based on the connection-level TransactionStartTime property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Total Transaction Time
Alert #32 Rollback log usage
Alert #33 Uncommitted operations
Alert #34 Long uncommitted
Connection Flag #3 Long transaction
Connection Flag #7 Rollback log usage
Connection Flag #8 Uncommitted operations
Connection Flag #9 Long uncommitted
Connection Flag #23 Total transaction time
AutoDrop #3 Long transaction


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #29 - Cache panics - There have been [1] or more cache panics in [10] or more recent samples.

The Alert #29 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "have been xxx or more" text box specifies a count of 1 or more cache panics.

The "in xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

A cache panic occurs when SQL Anywhere fails to find a cache page to allocate.

Performance Tip: This Alert may indicate that insufficient memory in the database cache is a performance bottleneck.

This Alert is issued when the number of cache panics has reached or exceeded the threshold amount for the specified number of recent samples.

A subsequent All Clear #29 is issued when the number of cache panics has remained below the threshold amount for approximately one-half the specified number of recent samples.

Alert #29 - Cache panics is supported for target databases running on SQL Anywhere 9 and later, and is based on the server-level CachePanics property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Cache
Monitor - Cache Panics, Low Memory, Satisfaction.
Monitor - Disk/Cache: Internal Index, Leaf, Table
Monitor - Connections - Low Memory, Cache Satisfaction
Monitor - Connections - Disk/Cache: Internal Index, Leaf, Table
Alert #19 Cache size
Alert #20 Cache satisfaction
Connection Flag #11 Cache satisfaction


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #30 - Database read-only - The target database changed from accepting updates to read-only processing within the [10] most recent samples.

The Alert #30 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "within the xxx most recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

A change in the database-level ReadOnly property (between 'On' for read-only processing and 'Off' for accepting updates) almost always indicates something big has happened in a SQL Anywhere High Availability setup.

This Alert is issued when the ReadOnly property changes from 'Off' to 'On'.

Performance Tip: This Alert may not be as useful as Alert #31 Database updatable which warns of the opposite change.

A subsequent All Clear #30 is issued if the ReadOnly property remains 'On' for the specified number of samples, or if the ReadOnly property changes back 'Off' before then.

Alert #30 - Database read-only is supported for target databases running on SQL Anywhere 8 and later, and is based on the database-level ReadOnly property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Database Disposition
Monitor - Server Name
Alert #9 Arbiter unreachable
Alert #10 Partner unreachable
Alert #11 ServerName change
Alert #31 Database updatable
Alert #35 Separate ping failed


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #31 - Database updatable - The target database changed from read-only processing to accepting updates within the [10] most recent samples.

The Alert #31 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "within the xxx most recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

A change in the database-level ReadOnly property (between 'On' for read-only processing and 'Off' for accepting updates) almost always indicates something big has happened in a SQL Anywhere High Availability setup.

This Alert is issued when the ReadOnly property changes from 'On' to 'Off'.

Performance Tip: This Alert is useful if you want to be warned when a read-only secondary database suddenly becomes updatable after a High Availability failover.

A subsequent All Clear #31 is issued if the ReadOnly property remains 'Off' for the specified number of samples, or if the ReadOnly property changes back 'On' before then.

Alert #31 - Database updatable is supported for target databases running on SQL Anywhere 8 and later, and is based on the database-level ReadOnly property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Database Disposition
Monitor - Server Name
Alert #9 Arbiter unreachable
Alert #10 Partner unreachable
Alert #11 ServerName change
Alert #30 Database read-only
Alert #35 Separate ping failed


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #32 - Rollback log usage - The total rollback log space used by all connections has been [1G] or larger for [10] or more recent samples.

The Alert #32 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has fallen below xxx" text box specifies the amount of rollback log space in bytes (minimum 1024), k, M, G or T; e.g., 1000000, 100k, 200M, 5G, 1T.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

A separate rollback log, also known as an undo log or row level undo log, is maintained for each connection to hold a sequential record of the reverse operations that would undo the logical changes made to the database by this connection since the last COMMIT or ROLLBACK was executed on the connection.

The total rollback log space is similar to but different from the total number of uncommitted operations (see Alert #33); both measure of how much work has been started but not yet finished in this database.

Performance Tip: This Alert is useful if you want to be warned when a large amount of work is in progress but not yet committed to the database.

The automatic recovery stage of server startup may take a long time if the server suddenly fails and is then restarted.

If an individual transaction is responsible for a lot of the space usage, that transaction may take a long time to roll back if it fails.

The final checkpoint stage of a normal server shutdown may also take a long time while the changes recorded in a large rollback log are being reversed.

This Alert is issued when the total rollback log space has met or exceeded the threshold amount for the specified number of recent samples.

A subsequent All Clear #32 is issued when the total rollback log space has remained below the threshold amount for approximately one-half the specified number of recent samples.

Alert #32 - Rollback log usage is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the database-level PageSize property and the sum of the connection-level RollbackLogPages property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Total Transaction Time
Alert #28 Long transaction
Alert #33 Uncommitted operations
Alert #34 Long uncommitted
Connection Flag #3 Long transaction
Connection Flag #7 Rollback log usage
Connection Flag #8 Uncommitted operations
Connection Flag #9 Long uncommitted
Connection Flag #23 Total transaction time
AutoDrop #3 Long transaction


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #33 - Uncommitted operations - The total number of uncommitted operations for all connections has reached [1,000,000] or more during [10] or more recent samples.

The Alert #33 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "reached xxx or more" text box specifies a count of 1 or more uncommitted operations.

The "during xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

The total number of uncommitted operations is similar to but different from the total rollback log space (see Alert #32); both measure of how much work has been started but not yet finished in this database.

Performance Tip: This Alert is useful if you want to be warned when a large amount of work is in progress but not yet committed to the database.

The automatic recovery stage of server startup may take a long time if the server suddenly fails and is then restarted.

If an individual transaction is responsible for a lot of uncommitted operations, that transaction may take a long time to roll back if it fails.

Performance Tip: The count of Uncommitted operations includes (and may be exactly equal to) the number of uncommitted row-level inserts, updates and deletes.

The count of Uncommitted operations may be larger than the number of INSERT, UPDATE and DELETE statements because one statement can affect many rows.

If a single row is inserted, then updated twice and finally deleted, for example, that counts as four Uncommitted operations.

If a single row matches the WHERE clause of an UPDATE statement but all of the new column values in the SET clause are the same as the current values in the row, that row is not updated and the operation is not counted as an Uncommitted operation.

A table-level schema lock obtained by a SELECT statement is not counted as an Uncommitted operation even though the lock is not cleared until a subsequent commit or rollback (and may thus be regarded as "uncommitted").

This Alert is issued when the total number of uncommitted operations has met or exceeded the threshold number for the specified number of recent samples.

A subsequent All Clear #33 is issued when the total number of uncommitted operations has remained below the threshold number for approximately one-half the specified number of recent samples.

Alert #33 - Uncommitted operations is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the sum of the connection-level UncommitOp property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Total Transaction Time
Alert #28 Long transaction
Alert #32 Rollback log usage
Alert #34 Long uncommitted
Connection Flag #3 Long transaction
Connection Flag #7 Rollback log usage
Connection Flag #8 Uncommitted operations
Connection Flag #9 Long uncommitted
Connection Flag #23 Total transaction time
AutoDrop #3 Long transaction


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #34 - Long uncommitted - The number of uncommitted operations has reached [1,000,000] or more while the transaction running time has reached [1m] or more for at least one connection.

The Alert #34 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "reached xxx or more" text box specifies a count of 1 or more uncommitted operations.

The "has reached xxx or more" text box specifies a transaction running time duration of 1s or more, using the "d h m s ms" input format; e.g., 10s for 10 seconds, 3d for 3 days, 1h 30m for 1 hour and 30 minutes.

This Alert measures both work and time; see also Alert #33 Uncommitted operations and Alert #28 Long transaction.

Performance Tip: This Alert is useful if you want to be warned when a single connection is sucking all the air out of the room; i.e., when a long-running transaction has a performed a large amount of work that is not yet committed to the database.

Performance Tip: The count of Uncommitted operations includes (and may be exactly equal to) the number of uncommitted row-level inserts, updates and deletes.

The count of Uncommitted operations may be larger than the number of INSERT, UPDATE and DELETE statements because one statement can affect many rows.

If a single row is inserted, then updated twice and finally deleted, for example, that counts as four Uncommitted operations.

If a single row matches the WHERE clause of an UPDATE statement but all of the new column values in the SET clause are the same as the current values in the row, that row is not updated and the operation is not counted as an Uncommitted operation.

A table-level schema lock obtained by a SELECT statement is not counted as an Uncommitted operation even though the lock is not cleared until a subsequent commit or rollback (and may thus be regarded as "uncommitted").

This Alert is issued when the following conditions are both met:

  1. The number of uncommitted operations for a single transaction on a single connection has met or exceeded the threshold number, and

  2. the running time of that transaction has met or exceeded the threshold amount.

Note that the AutoDrop and Alert processes are completely independent; there is no connection. I.e., if the Alert #34 Long uncommitted criteria are met then the Alert will appear; it doesn't matter what the AutoDrop #3 Long transaction criteria are, and vice versa.

A subsequent All Clear #34 is issued as soon as one or the other or both of those conditions are no longer met; there is no waiting period as with some other alerts.

The transaction running time is the length of time since the database was first modified by this connection after a COMMIT or ROLLBACK.

Note that while it is possible for a SELECT to acquire locks and thus block other connections (e.g., a shared lock obtained by a SELECT will block an ALTER TABLE), a SELECT does not count as a modification as far as the Transaction Time is concerned. In other words, a SELECT does not start a transaction.

Alert #34 - Long uncommitted is supported for target databases running on SQL Anywhere 8 and later, and is based on the connection-level UncommitOp and TransactionStartTime properties.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Total Transaction Time
Alert #28 Long transaction
Alert #32 Rollback log usage
Alert #33 Uncommitted operations
Connection Flag #3 Long transaction
Connection Flag #7 Rollback log usage
Connection Flag #8 Uncommitted operations
Connection Flag #9 Long uncommitted
Connection Flag #23 Total transaction time
AutoDrop #3 Long transaction


Foxhound 5 7. The Monitor Options Page 9. Alert Criteria 

Alert #35 - Separate ping failed - Foxhound has been unable to make a separate ping connection to the target database for [10] or more recent samples.

The Alert #35 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

Foxhound provides an optional custom "ping" process to test separate connections to the target database; see 16. Ping Settings

Performance Tip: Alert #35 - Separate ping failed may be used to let you know when the target database is not accepting new connections even though Foxhound remains connected and is successfully gathering sample data.

This is different from Alert #1 - Database unresponsive which is only issued when Foxhound itself cannot connect to the target database to gather a sample or perform Ping-Only sampling.

This Alert is issued if Foxhound is successfully gathering other sample data but has not been able to make a separate ping connection to the target database (see Include Separate Ping with each successful sample).

Note: This Alert is not issued if Ping-Only Sampling is in effect (see Alert #1 - Database unresponsive).

A subsequent All Clear is issued as soon as Foxhound is able to make a separate ping connection to the target database when recording a successful sample; there is no waiting period as with some other alerts.

Alert #35 - Separate ping failed is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on Foxhound's ability to gather a sample and execute the ping process.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Response... Heartbeat, Sample, Ping
16. Ping Settings
Include Separate Ping with each successful sample
Alert #1 - Database unresponsive


Foxhound 5 7. The Monitor Options Page 
10. [ removed ] No, you're not missing anything... this section became obsolete and was removed :)


Foxhound 5 7. The Monitor Options Page 
11. AutoDrop Schedule

The Enforce the AutoDrop Schedule lets you enable the automated AutoDrop Schedule feature for this target database, which in turn lets you turn the AutoDrop process off and on at different times of the day.

Note: There is no separate "AutoDrop Email Schedule" feature.

Each AutoDrop Schedule consists of 7 strings of 96 characters...

     AM                                              PM           
     12  1   2   3   4   5   6   7   8   9   10  11  12  1   2   3   4   5   6   7   8   9   10  11                                
Mon  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Tue  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY  
Wed  ...............................................^................................................ 
Thu  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY  
Fri  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Sat  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Sun  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYyYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

Here's how it works:

You must click if you want your changes saved. Any one the Save buttons will save all the changes you have made anywhere on this page.


Foxhound 5 7. The Monitor Options Page 
12. AutoDrop Criteria

AutoDrop #1 - Blocking others

AutoDrop #2 - Blocked by other

AutoDrop #3 - Long transaction

AutoDrop #4 - Temp space usage

AutoDrop #5 - CPU usage

AutoDrop #6 - Locks

AutoDrop processing differs from Alert processing:

The button checks the "AutoDrop enabled" boxes #1 through #6.

The button unchecks the "AutoDrop enabled" boxes #1 through #6.

The button restores the "AutoDrop enabled" boxes #1 through #6 to their previously saved settings.

A user id with DBA authority is necessary for Foxhound to implement the AutoDrop feature on target databases running on versions 12 and earlier of SQL Anywhere.

For version 16 target databases the DROP CONNECTION privilege is required.

You must click if you want your changes saved, including those made by Enable All and Disable All. Any one the Save buttons will save all the changes you have made anywhere on this page.


Foxhound 5 7. The Monitor Options Page 12. AutoDrop Criteria 

AutoDrop #1 - Blocking others

AutoDrop #2 - Blocked by other

AutoDrop #3 - Long transaction

AutoDrop #4 - Temp space usage

AutoDrop #5 - CPU usage

AutoDrop #6 - Locks


Foxhound 5 7. The Monitor Options Page 12. AutoDrop Criteria 

AutoDrop #1 - Blocking others - Automatically drop each connection that has been blocking [5] or more other connections for [10] or more recent samples.

The AutoDrop #1 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "blocking xxx or more" text box specifies a count of 1 or more blocked connections.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

This AutoDrop action is taken when the maximum number of other connections blocked by this connection has reached or exceeded the threshold amount for the specified number of recent samples.

In other words, the perpetrator (the connection holding the lock) is dropped so the victims (the blocked connections) can proceed with their work, which is the opposite of AutoDrop #2 Blocked by other.

A blocked connection is a connection that cannot get any more work done because some other connection has locked something this connection needs.

A blocked connection is not the same as a deadlock. In most cases, blocked connections wait indefinitely whereas deadlocks are instantly resolved when SQL Anywhere cancels one of the transactions involved.

Performance Tip: A single connection that is blocking other connections may indicate a serious performance bottleneck caused by locks being held too long; the root cause may be an application program design error.

AutoDrop #1 - Blocking others is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level BlockedOn property for target databases running on SQL Anywhere 5.5 through 16, and on the connection-level BlockedOn, LockObjectType and LockObjectOID properties SQL Anywhere 17.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Do-Not-AutoDrop Lists
Monitor - Executing, Idle, Waiting Conns
Monitor - Locks Held, Conns Blocked, Waiting Time
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Current Req Status
Monitor - Connections - Blocked By:
Monitor - Connections - Block Reason:
Monitor - Connections - Locked Row Query:
Alert #23 Blocked connections
Alert #24 Conn blocking others
Alert #25 Locks
Connection Flag #1 Blocking others
Connection Flag #2 Blocked by other
Connection Flag #6 Locks
AutoDrop #2 Blocked by other
AutoDrop #6 Locks


Foxhound 5 7. The Monitor Options Page 12. AutoDrop Criteria 

AutoDrop #2 - Blocked by other - Automatically drop each connection that has been blocked by another connection for [10] or more recent samples.

The AutoDrop #2 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

This AutoDrop action is taken when this connection has been blocked by some other connection for the specified number of recent samples.

In other words, the victim (the blocked connection) is dropped rather than the perpetrator (the connection holding the lock), which is the opposite of AutoDrop #1 Blocking others.

Performance Tip: A blocked connection may indicate a serious performance bottleneck caused by locks being held too long; the root cause may be an application program design error.

AutoDrop #2 - Blocked by other is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level BlockedOn property for target databases running on SQL Anywhere 5.5 through 16, and on the connection-level BlockedOn, LockObjectType and LockObjectOID properties in SQL Anywhere 17.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Do-Not-AutoDrop Lists
Monitor - Executing, Idle, Waiting Conns
Monitor - Locks Held, Conns Blocked, Waiting Time
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Current Req Status
Monitor - Connections - Blocked By:
Monitor - Connections - Block Reason:
Monitor - Connections - Locked Row Query:
Alert #23 Blocked connections
Alert #24 Conn blocking others
Alert #25 Locks
Connection Flag #1 Blocking others
Connection Flag #2 Blocked by other
Connection Flag #6 Locks
AutoDrop #1 Blocking others
AutoDrop #6 Locks


Foxhound 5 7. The Monitor Options Page 12. AutoDrop Criteria 

AutoDrop #3 - Long transaction - Automatically drop each connection with a transaction that has been running for [10m] or longer.

The AutoDrop #3 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "for xxx or longer" text box specifies a transaction running time duration of 1s or more, using the "d h m s ms" input format; e.g., 10s for 10 seconds, 3d for 3 days, 1h 30m for 1 hour and 30 minutes.

This AutoDrop action is taken when the transaction running time for this connection has reached or exceeded the threshold percentage for the specified number of recent samples.

The transaction running time is the length of time since the database was first modified by this connection after a COMMIT or ROLLBACK.

Note that while it is possible for a SELECT to acquire locks and thus block other connections (e.g., a shared lock obtained by a SELECT will block an ALTER TABLE), a SELECT does not count as a modification as far as the Transaction Time is concerned. In other words, a SELECT does not start a transaction.

Performance Tip: A connection with a long-running transaction may indicate a performance bottleneck; the root cause may be an application program design error.

Note that the AutoDrop and Alert processes are completely independent; there is no connection. I.e., if the AutoDrop #3 Long transaction criteria are met that AutoDrop will be processed; it doesn't matter what the Alert #28 Long transaction or Alert #34 Long uncommitted criteria are, and vice versa.

AutoDrop #3 - Long transaction is supported for target databases running on SQL Anywhere 8 and later, and is based on the connection-level TransactionStartTime property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Do-Not-AutoDrop Lists
Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Total Transaction Time
Alert #28 Long transaction
Alert #32 Rollback log usage
Alert #33 Uncommitted operations
Alert #34 Long uncommitted
Connection Flag #3 Long transaction
Connection Flag #7 Rollback log usage
Connection Flag #8 Uncommitted operations
Connection Flag #9 Long uncommitted
Connection Flag #23 Total transaction time
AutoDrop #3 Long transaction


Foxhound 5 7. The Monitor Options Page 12. AutoDrop Criteria 

AutoDrop #4 - Temp space usage - Automatically drop each connection that uses [512M] or more of temporary space for [10] or more recent samples.

The AutoDrop #4 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "uses xxx or more" text box specifies the amount of temporary space in bytes (minimum 1024), k, M, G or T; e.g., 1000000, 100k, 200M, 5G, 1T.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

This AutoDrop action is taken when the temporary space used by this connection has reached or exceeded the threshold amount for the specified number of recent samples.

Performance Tip: A connection using a large amount of temporary space may indicate a performance bottleneck caused by runaway queries.

AutoDrop #4 - Temp space usage is supported for target databases running on SQL Anywhere 8 and later, and is based on the database-level PageSize property and the connection-level TempFilePages property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Do-Not-AutoDrop Lists
Monitor - Temp DBSpace - Size, Used, Frags, Avail, File
Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Alert #6 Temp disk space
Alert #21 Temp space usage
Alert #22 Conn temp space usage
Alert #32 Rollback log usage
Alert #33 Uncommitted operations
Alert #34 Long uncommitted
Connection Flag #4 Temp space usage
Connection Flag #7 Rollback log usage
Connection Flag #8 Uncommitted operations
Connection Flag #9 Long uncommitted
Connection Flag #23 Total transaction time
AutoDrop #4 Temp space usage


Foxhound 5 7. The Monitor Options Page 12. AutoDrop Criteria 

AutoDrop #5 - CPU usage - Automatically drop each connection that uses [25] % or more of approximate CPU time for [10] or more recent samples.

The AutoDrop #5 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "uses xxx % or more" text box specifies a percentage of total available CPU time 1 to 100.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

This AutoDrop action is taken when the percentage of available CPU time used by an individual connection has reached or exceeded the threshold percentage for the specified number of recent samples.

Performance Tip: A connection using a large amount of CPU may indicate a performance bottleneck caused by runaway queries.

AutoDrop #5 - CPU usage is supported for target databases running on SQL Anywhere 10 and later, and is based on the connection-level ApproximateCPUTime property and the server-level NumLogicalProcessorsUsed property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Do-Not-AutoDrop Lists
Monitor - Conns / Parent, Child Conns
Monitor - CPU
Monitor - Connections - CPU, Child Conns
Alert #4 CPU usage
Alert #27 Connection CPU
Connection Flag #5 CPU usage
Connection Flag #24 Total CPU time
AutoDrop #5 CPU usage


Foxhound 5 7. The Monitor Options Page 12. AutoDrop Criteria 

AutoDrop #6 - Locks - Automatically drop each connection that has [1,000,000] or more locks for [10] or more recent samples.

The AutoDrop #6 enabled checkbox specifies whether or not you want Foxhound to check for this condition.

The "has xxx or more" text box specifies a count of 1 or more locks.

The "for xxx or more recent samples" text box specifies a count of 1 or more samples taken by the Foxhound Database Monitor.

This AutoDrop action is taken when the number of locks held by this connection has reached or exceeded the threshold number for the specified number of recent samples.

Performance Tip: A connection holding a large number of locks may indicate that too many locks are being held for too long.

This AutoDrop action deals with the symptom by dropping the connection that is holding the large number of locks.

AutoDrop #6 - Locks is supported for target databases running on SQL Anywhere 10 and later, and is based on the connection-level LockCount property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Do-Not-AutoDrop Lists
Monitor - Executing, Idle, Waiting Conns
Monitor - Locks Held, Conns Blocked, Waiting Time
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Current Req Status
Monitor - Connections - Blocked By:
Monitor - Connections - Block Reason:
Monitor - Connections - Locked Row Query:
Alert #23 Blocked connections
Alert #24 Conn blocking others
Alert #25 Locks
Connection Flag #1 Blocking others
Connection Flag #2 Blocked by other
Connection Flag #6 Locks
AutoDrop #1 Blocking others
AutoDrop #2 Blocked by other


Foxhound 5 7. The Monitor Options Page 
13. Do-Not-AutoDrop Lists

The Do-Not-AutoDrop lists let you divide connections in two broad categories:

The Do-Not-AutoDrop lists let you protect important connections from being dropped by the AutoDrop process, while leaving you free to specify AutoDrop criteria that apply to ordinary connections.

Do-Not-AutoDrop User Id List

Do-Not-AutoDrop Connection Name List


Foxhound 5 7. The Monitor Options Page 13. Do-Not-AutoDrop Lists 

Do-Not-AutoDrop User Id List: Exclude this semicolon-separated list of user ids from being AutoDropped: [xxx;xxx]

The Do-Not-AutoDrop User Id List enabled checkbox specifies whether or not you want Foxhound to check user ids against this list before dropping any connections.

The Do-Not-AutoDrop User Id List can hold one or more user id values, with semicolons separating multiple values and no leading or trailing spaces around each value; for example:

g.mikhailov;e.reid;n.simpson;x.wang;c.ryan

Note: The User Id List does NOT allow any LIKE wildcard characters; this is different from the Connection Name List described in the next section.

Also note that leading and trailing spaces around each user id will NOT be ignored in the User Id List; this too is different from how the Connection Name List works, and it will prevent the User Id List from working properly.

Note: The AutoDrop process automatically excludes:

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.


Foxhound 5 7. The Monitor Options Page 13. Do-Not-AutoDrop Lists 

Do-Not-AutoDrop Connection Name List: Exclude this semicolon-separated list of connection names from being AutoDropped: [xxx;xxx]

The Do-Not-AutoDrop Connection Name List enabled checkbox specifies whether or not you want Foxhound to check connection names against this list before dropping any connections.

The Do-Not-AutoDrop Connection Name List can hold one or more connection name patterns, with semicolons separating multiple patterns.

Here is a simple example showing two single-word connection name values in the Connection Name List:

app;payroll

Note: The Connection Name List DOES allow SQL-Anywhere-style LIKE wildcard and ESCAPE characters; this is different from the User Id List described in the previous section.

Also note that leading and trailing spaces around each pattern WILL BE ignored in the Connection Name List; this too is different from how the User Id List works.

Here is an example showing LIKE wildcard and ESCAPE characters:

FINCEN% ; AnaDarko%Analysis ; Hello\_World

Here's how the SQL-Anywhere-style LIKE wildcard characters work:

Wildcard        Matches
--------------  ------------------------------------------------------

_ (underscore)  Any one character. For example, a_ matches ab and ac, 
                but not a. 
 
% (percent)     Any string of zero or more characters. For example,  
                bl% matches bl and bla.  

[]              Any single character in the specified range or set.  
                For example, T[oi]m matches Tom or Tim.  

[^]             Any single character not in the specified range or set.  
                For example, M[^c] matches Mb and Md, but not Mc.  

If the underscore is used in actual connection names, and you want to specify an exact match for the underscore in the corresponding pattern string, you will have to use the \ character; otherwise, the underscore in the pattern will match any character in the actual connection names.

Here's how the Foxhound AutoDrop process handles some actual connection names:

Do-Not-AutoDrop Connection Name List: FINCEN% ; AnaDarko%Analysis ; Hello\_World

Actual Connection Name    autodrop?       
------------------------- --------------- 
app                       OK to autodrop  
FINCEN047                 do NOT autodrop 
AnaDarko 254 Analysis     do NOT autodrop 
Hello_World               do NOT autodrop 
Hello1World               OK to autodrop  

Note: The AutoDrop process automatically excludes:

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.


Foxhound 5 7. The Monitor Options Page 
14. Change Target Settings

The Change Target Settings section lets you change various settings on the target database servers to be more or less favorable to the recording of data for Foxhound to display on the Monitor, History and Connection History pages.

Performance Tip: Changes to these server options on a High Availability primary database or a Read-Only Scale-Out root database will not be automatically transmitted to a secondary or copy database.

However, since these are server options rather than database options, you can use the Favorable? field on the secondary or copy database to make the same changes even though the Foxhound connections to those databases are read-only.

Favorable Current Setting?

Yes / No Buttons

RememberLastPlan -zp:

RememberLastStatement -zl:

RequestTiming -zt:


Foxhound 5 7. The Monitor Options Page 14. Change Target Settings 

Favorable Current Setting?

The Favorable Current Setting? column is refreshed when the Monitor Options page is displayed and whenever one of the Yes / No buttons is pressed:

Performance Tip: After a High Availability failover, it is possible for the Favorable? field on the Monitor page for the secondary database to show different values from the Change Target Settings section on the Monitor Options page for the "same" database (which isn't actually the same any more).

If the target database is a High Availability secondary database and a failover occurs (primary fails, secondary takes over), the Favorable Current Settings? column may show [not available].

The reason for this is that the Monitor Options - Change Target Settings section attempts to open a new connection to the secondary database, and the database that used to be the secondary is now the primary so there's no secondary database available. The Foxhound sampling session, however, remains connected to the original database (once the secondary, now the primary) so there is an apparent inconsistency between Favorable Current Settings? showing [not available], and the Foxhound Monitor page showing that everything is OK.

But wait, there's more! If the failed database that was the original primary database is restarted, it will become the new secondary database, and the Favorable Current Settings? column will show actual values rather than [not available]... but those values will be coming from a different database than the Foxhound sampling session is showing. That's because the Monitor Options - Change Target Settings section opens a new connection to the secondary database, and the Foxhound Monitor session remains connected to the original database (once the secondary, now the primary).


Foxhound 5 7. The Monitor Options Page 14. Change Target Settings 

Yes / No Buttons

The and buttons let you immediately change the corresponding setting, but they're disabled if the setting is not available.

Performance Tip: Changes to these server options on a High Availability primary database or a Read-Only Scale-Out root database will not be automatically transmitted to a secondary or copy database.

However, since these are server options rather than database options, you can use the Change Target Settings feature to make the same changes to the secondary or copy database even though the Foxhound connections to those databases are read-only.


Foxhound 5 7. The Monitor Options Page 14. Change Target Settings 

RememberLastPlan -zp:

The RememberLastPlan server option controls whether or not anything is displayed in the following connection-level field on the Monitor, History and Connection History pages:

Changes to RememberLastPlan affect both new and existing connections.

You can also enable RememberLastPlan server option as follows:

A user id with DBA authority is necessary for Foxhound to call the sa_server_option() procedure to set the RememberLastPlan option for target databases running on versions 12 and earlier of SQL Anywhere. For version 16 target databases the SERVER OPERATOR privilege is required.

The RememberLastPlan server option is supported by target databases running on SQL Anywhere 10 and later.


Foxhound 5 7. The Monitor Options Page 14. Change Target Settings 

RememberLastStatement -zl:

The RememberLastStatement server option controls whether or not anything is displayed in the connection-level fields on the Monitor, History and Connection History pages:

You can also enable RememberLastStatement server option as follows:

If that doesn't work, try turning off client statement caching on the target database:
SET TEMPORARY OPTION MAX_CLIENT_STATEMENTS_CACHED = '0'; 

- or -

SET OPTION PUBLIC.MAX_CLIENT_STATEMENTS_CACHED = '0';

Performance Tip: RememberLastStatement is far more useful than RememberLastPlan and RequestTiming.

Changes to RememberLastStatement affect both new and existing connections.

A user id with DBA authority is necessary for Foxhound to call the sa_server_option() procedure to set the RememberLastStatement option for target databases running on versions 12 and earlier of SQL Anywhere. For version 16 target databases the SERVER OPERATOR privilege is required.

The RememberLastStatement server option is supported by target databases running on SQL Anywhere 8 and later.


Foxhound 5 7. The Monitor Options Page 14. Change Target Settings 

RequestTiming -zt:

The RequestTiming server option controls whether or not anything is displayed in the following connection-level columns on the Monitor, History and Connection History pages:

You can also enable RequestTiming server option as follows:

The RequestTiming setting controls the following SQL Anywhere statistical properties that Foxhound uses in calculations:

Changes to RequestTiming affect new connections, and they may or may not immediately affect existing connections as follows:

A user id with DBA authority is necessary for Foxhound to call the sa_server_option() procedure to set the RequestTiming option for target databases running on versions 12 and earlier of SQL Anywhere. For version 16 target databases the SERVER OPERATOR privilege is required.

The RequestTiming server option is supported by target databases running on SQL Anywhere 10 and later.


Foxhound 5 7. The Monitor Options Page 
15. Monitor Connection Settings

These settings apply to Foxhound's own connections from the Monitor process to the target databases.

Monitor DEDICATED_TASK Option:

Monitor Connection Name:


Foxhound 5 7. The Monitor Options Page 15. Monitor Connection Settings 

Monitor DEDICATED_TASK Option: Instruct the Foxhound Monitor sampling process to set DEDICATED_TASK option ON for the connection to the target database.

When this feature is in effect, Foxhound's own connection from the Monitor process to the target database will be given a dedicated request-handling task by the SQL Anywhere server running the target database.

This means Foxhound will be more likely to be able to gather samples when the target server is extremely busy, but it also means the target server will have one fewer request-handling tasks available to service other connections.

Here's how to turn it on:

Here's how to turn it off:


Foxhound 5 7. The Monitor Options Page 15. Monitor Connection Settings 

Monitor Connection Name: Set the connection name template for the connections from the Foxhound Monitor process to the target database.

This template is used to create the ConnectionName parameter value used by Foxhound's connection from the Monitor process.

If the template contains the substring nnnn, that substring will be replaced at runtime by the Windows Process Identifier (PID) of the SQL Anywhere dbsrv17.exe process that is running the Foxhound database.

For example, Foxhound-Monitor-nnnn becomes Foxhound-Monitor-15392 which is a lot more meaningful than ASACIS_7c28c5d9e3aa4193af2d19268034de2d_1000013571.

If you change the template for a Monitor process that's already running, stop and start sampling to put the new connection name into effect.

Administrative Tip: It is possible (but NOT recommended) to use an explicit CON= value for the Foxhound connection instead of using the template.

Here are the rules for explicit CON= values:

  1. If you use the String tab of the Foxhound Menu page to connect to your target database,
    you can specify an explicit CON= value on the String tab and that value will override the one specified here (but it won't contain the Foxhound PID).

  2. If you use the DSN tab of the Foxhound Menu page to connect to your target database,
    an explicit CON= value inside the DSN will be ignored when Foxhound connects to the target database.

  3. If you leave the connection name template empty here,
    and you use the DSN tab of the Foxhound Menu page with or without an explicit CON= value,
    or you use the String tab without an explicit CON= value,
    Foxhound will generate an ugly connection name like ASACIS_7c28c5d9e3aa4193af2d19268034de2d_1000013571.


Foxhound 5 7. The Monitor Options Page 
16. Ping Settings

These settings control how Foxhound uses a custom "ping" process to test separate connections to the target database.

Each time the ping process runs it 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.

Note that the Foxhound ping process does not use the dbping.exe utility that ships with SQL Anywhere, nor does it use the ODBC interface that is used to gather sample data.

Also note that the separate ping process "uses up" another SQL Anywhere connection number each time it runs, which is once approximately every 10 seconds for each target database.

Perform Ping-Only Sampling:
Include Separate Ping:
Ping Connection Name:


Foxhound 5 7. The Monitor Options Page 16. Ping Settings 

Perform Ping-Only Sampling: Run the Foxhound Ping process without gathering any other sample data.

The primary purpose of Ping-Only Sampling is to check for Alert #1 Database unavailable without storing a lot of other data.

Performance Tip: You can also switch back-and-forth to Ping-Only Sampling on a scheduled basis using section 5. Sample Schedule.

The Foxhound Monitor connection to the target database is not required for ping-only sampling. If a Foxhound Monitor connection exists when ping-only sampling begins, it becomes idle; it is not automatically dropped by Foxhound but it's OK if you drop it.

Note: The following sections have no effect when Ping-Only Sampling is performed because Foxhound doesn't gather other sample data:


Foxhound 5 7. The Monitor Options Page 16. Ping Settings 

Include Separate Ping: Specify whether (and when) to include the Foxhound Ping process while Foxhound is gathering other sample data:

These Include Separate Ping settings have no effect if Perform Ping-Only Sampling is enabled (see section above).


Foxhound 5 7. The Monitor Options Page 16. Ping Settings 

Ping Connection Name: Set the connection name template for the connections from the Foxhound Ping process to the target database.

This template is used to create the ConnectionName parameter value used by Foxhound's Ping process.

If the template contains the substring nnnn (as in the default Foxhound-ping-nnnn) the nnnn substring is replaced at runtime by the Windows Process Identifier (PID) of the SQL Anywhere 16 dbsrv17.exe process that is running the Foxhound database.

This makes it easier to exactly identify where this connection is coming from when there are a large number of target databases and Foxhound processes running.


Foxhound 5 7. The Monitor Options Page 
17. Flag Settings

Connection Flags are a lightweight mechanism for highlighting curiosities at the connection level. These curiosities are traits and behaviors that might cause performance bottlenecks, and are worth looking at.

Flags are implemented as 30 different yes/no conditions that are checked each time Foxhound stores a connection-level sample.

Connection flag settings control how Foxhound sets and clears flags to highlight connection-level performance issues.

Flag #1 - Blocking others
Flag #2 - Blocked by other
Flag #3 - Long transaction
Flag #4 - Temp space usage
Flag #5 - CPU usage
Flag #6 - Locks
Flag #7 - Rollback log usage
Flag #8 - Uncommitted operations
Flag #9 - Long uncommitted
Flag #10 - Child connections
Flag #11 - Cache satisfaction
Flag #12 - Disk read rate
Flag #13 - Disk write rate
Flag #14 - Log write rate
Flag #15 - Index add rate
Flag #16 - Index lookup rate
Flag #17 - Index satisfaction
Flag #18 - Full index comp rate
Flag #19 - User id usage
Flag #20 - OS user usage
Flag #21 - IP address usage
Flag #22 - Connection name usage
Flag #23 - Total transaction time
Flag #24 - Total CPU time
Flag #25 - Total disk reads
Flag #26 - Total disk writes
Flag #27 - Total log writes
Flag #28 - Total index adds
Flag #29 - Total index lookups
Flag #30 - Total full index comps

Administrative Tip: You can force the connection flags to be recalculated using all the samples recorded for this target database; see Recalculate Connection Flags on the Adhoc Queries Help page.

Flags are similar to Alerts as follows:

Flags are different from Alerts as follows:


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #1 - Blocking others - This connection is blocking [1] or more other connections.

The Flag #1 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "blocking xxx" text box specifies a threshold count (1 or more) of other connections that are blocked by this one.

A blocked connection is a connection that cannot get any more work done because some other connection has locked something this connection needs.

A blocked connection is not the same as a deadlock. In most cases, blocked connections wait indefinitely whereas deadlocks are instantly resolved when SQL Anywhere cancels one of the transactions involved.

Performance Tip: This Flag may indicate a serious performance bottleneck caused by locks being held too long; the root cause may be an application program design error.

This Flag is set when the number of other connections blocked by this connection has met or exceeded the threshold connection count.

This Flag is cleared when the number of other connections blocked by this connection falls below the threshold count.

Flag #1 - Blocking others is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level BlockedOn property for target databases running on SQL Anywhere 5.5 through 16, and on the connection-level BlockedOn, LockObjectType and LockObjectOID properties in SQL Anywhere 17.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Executing, Idle, Waiting Conns
Monitor - Locks Held, Conns Blocked, Waiting Time
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Current Req Status
Monitor - Connections - Blocked By:
Monitor - Connections - Block Reason:
Monitor - Connections - Locked Row Query:
Alert #23 Blocked connections
Alert #24 Conn blocking others
Alert #25 Locks
Connection Flag #2 Blocked by other
Connection Flag #6 Locks
AutoDrop #1 Blocking others
AutoDrop #2 Blocked by other
AutoDrop #6 Locks


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #2 - Blocked by other - This connection is blocked.

The Flag #2 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

A blocked connection is a connection that cannot get any more work done because some other connection has locked something this connection needs.

A blocked connection is not the same as a deadlock. In most cases, blocked connections wait indefinitely whereas deadlocks are instantly resolved when SQL Anywhere cancels one of the transactions involved.

The Flag #2 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

Performance Tip: This Flag may indicate a serious performance bottleneck caused by locks being held too long; the root cause may be an application program design error.

This Flag is set when this connection is blocked by some other connection.

This Flag is cleared when this connection is no longer blocked by any other connection.

Flag #2 - Blocked by other is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level BlockedOn property for target databases running on SQL Anywhere 5.5 through 16, and on the connection-level BlockedOn, LockObjectType and LockObjectOID properties in SQL Anywhere 17.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Executing, Idle, Waiting Conns
Monitor - Locks Held, Conns Blocked, Waiting Time
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Current Req Status
Monitor - Connections - Blocked By:
Monitor - Connections - Block Reason:
Monitor - Connections - Locked Row Query:
Alert #23 Blocked connections
Alert #24 Conn blocking others
Alert #25 Locks
Connection Flag #1 Blocking others
Connection Flag #6 Locks
AutoDrop #1 Blocking others
AutoDrop #2 Blocked by other
AutoDrop #6 Locks


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #3 - Long transaction - The transaction running time is [1m] or longer.

The Flag #3 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "transaction running time is xxx" text box specifies the threshold transaction running time duration of 1s or more, using the "d h m s ms" input format; e.g., 10s for 10 seconds, 3d for 3 days, 1h 30m for 1 hour and 30 minutes.

The transaction running time is the length of time since the database was first modified by a connection after a COMMIT or ROLLBACK started a transaction which is still executing.

While it is possible for a SELECT to acquire locks and thus block other connections (e.g., a shared lock obtained by a SELECT will block an ALTER TABLE), a SELECT does not count as a modification as far as the Transaction Time is concerned.

In other words, a SELECT does not start a transaction.

Performance Tip: This Flag may indicate that that a long-running transaction is a performance bottleneck.

This Flag is set when a transaction continues to execute after the transaction running time has met or exceeded the threshold duration.

This Flag is cleared when the transaction finishes.

Flag #3 - Long transaction is supported for target databases running on SQL Anywhere 8 and later, and is based on the connection-level TransactionStartTime property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Total Transaction Time
Alert #28 Long transaction
Alert #32 Rollback log usage
Alert #33 Uncommitted operations
Alert #34 Long uncommitted
Connection Flag #7 Rollback log usage
Connection Flag #8 Uncommitted operations
Connection Flag #9 Long uncommitted
Connection Flag #23 Total transaction time
AutoDrop #3 Long transaction


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #4 - Temp space usage - The temporary space usage is [100M] or more.

The Flag #4 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "temporary space usage is xxx" text box specifies the threshold amount of temporary space in bytes (minimum 1024), k, M, G or T; e.g., 1000000, 100k, 200M, 5G, 1T.

Temporary pages are used for many purposes, most often to hold intermediate results during query processing. Even if there is no temporary file, as with an in-memory no write database, temporary space is allocated and used by the engine.

Performance Tip: This Flag may indicate that runaway queries are a performance bottleneck.

This Flag is set when the temporary space used by this connection has reached or exceeded the threshold amount.

This Flag is cleared when the temporary space used by this connection falls below the threshold percentage.

Flag #4 - Temp space usage is supported for target databases running on SQL Anywhere 8 and later, and is based on the database-level PageSize property and the connection-level TempFilePages property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Temp DBSpace - Size, Used, Frags, Avail, File
Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Alert #6 Temp disk space
Alert #21 Temp space usage
Alert #22 Conn temp space usage
Alert #32 Rollback log usage
Alert #33 Uncommitted operations
Alert #34 Long uncommitted
Connection Flag #7 Rollback log usage
Connection Flag #8 Uncommitted operations
Connection Flag #9 Long uncommitted
Connection Flag #23 Total transaction time
AutoDrop #4 Temp space usage


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #5 - CPU usage - The approximate CPU time is [5]% or higher.

The Flag #5 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "approximate CPU time is xxx" text box specifies the threshold percentage of total available CPU time of 1 to 100.

The CPU usage shows how much of the total available CPU time was used by this connection in the previous interval. The percentage is adjusted for the number of CPUs being used by the server.

The total available CPU time is measured for the SQL Anywhere database server as a whole, across all processors that are being used by the server.

Performance Tip: This Flag may indicate that high CPU usage is a performance bottleneck.

This Flag is set when the percentage of available CPU time used by a connection has met or exceeded the threshold percentage.

This Flag is cleared when the percentage of available CPU time used by a connection falls below the threshold percentage.

Flag #5 - CPU usage is supported for target databases running on SQL Anywhere 10 and later, and is based on the connection-level ApproximateCPUTime property and the server-level NumLogicalProcessorsUsed property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - CPU
Monitor - Connections - CPU, Child Conns
Alert #4 CPU usage
Alert #27 Connection CPU
Connection Flag #24 Total CPU time
AutoDrop #5 CPU usage


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #6 - Locks - This connection has acquired [100] or more locks.

The Flag #6 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "xxx or more locks" text box specifies the threshold number of locks of 1 or more.

Locks are a good thing; they keep data from being corrupted. However, even though SQL Anywhere can handle millions of locks it only takes a single lock to block another connection.

Performance Tip: This Flag may indicate that too many locks are being held for too long.

This Flag is set when the number of locks held by this connection has reached or exceeded the threshold number.

This Flag is cleared when the number of locks held by this connection falls below the threshold number.

Flag #6 - Locks is supported for target databases running on SQL Anywhere 10 and later, and is based on the connection-level LockCount property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Executing, Idle, Waiting Conns
Monitor - Locks Held, Conns Blocked, Waiting Time
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Current Req Status
Monitor - Connections - Blocked By:
Monitor - Connections - Block Reason:
Monitor - Connections - Locked Row Query:
Alert #23 Blocked connections
Alert #24 Conn blocking others
Alert #25 Locks
Connection Flag #1 Blocking others
Connection Flag #2 Blocked by other
AutoDrop #1 Blocking others
AutoDrop #2 Blocked by other
AutoDrop #6 Locks


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #7 - Rollback log usage - The rollback log space usage is [100K] or more.

The Flag #7 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "rollback log space usage is xxx" text box specifies the threshold amount of rollback log space in bytes (minimum 1024), k, M, G or T; e.g., 1000000, 100k, 200M, 5G, 1T.

A separate rollback log, also known as an undo log or row level undo log, is maintained for each connection to hold a sequential record of the reverse operations that would undo the logical changes made to the database by this connection since the last COMMIT or ROLLBACK was executed on the connection.

The rollback log space is similar to but different from the number of uncommitted operations (see Flag #8); both measure of how much work has been started but not yet finished in this database.

Performance Tip: This Flag is useful if you want to be warned when a large amount of work is in progress but not yet committed to the database.

The automatic recovery stage of server startup may take a long time if the server suddenly fails and is then restarted.

If an individual transaction is responsible for a lot of the space usage, that transaction may take a long time to roll back if it fails.

The final checkpoint stage of a normal server shutdown may also take a long time while the changes recorded in a large rollback log are being reversed.

This Flag is set when the rollback log space used by this connection has met or exceeded the threshold amount.

This Flag is cleared when the rollback log space used by this connection falls below the threshold amount.

Flag #7 - Rollback log usage is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the database-level PageSize property and the connection-level RollbackLogPages property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Temp DBSpace - Size, Used, Frags, Avail, File
Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Alert #6 Temp disk space
Alert #21 Temp space usage
Alert #22 Conn temp space usage
Alert #32 Rollback log usage
Alert #33 Uncommitted operations
Alert #34 Long uncommitted
Connection Flag #4 Temp space usage
Connection Flag #8 Uncommitted operations
Connection Flag #9 Long uncommitted
Connection Flag #23 Total transaction time
AutoDrop #4 Temp space usage


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #8 - Uncommitted operations - The number of uncommitted operations is [100] or more.

The Flag #8 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "uncommitted operations is xxx" text box specifies the threshold number of uncommitted operations of 1 or more.

The total number of uncommitted operations is similar to but different from the total rollback log space (see Flag #7); both measure of how much work has been started but not yet finished in this database.

Performance Tip: This Flag is useful if you want to be warned when a large amount of work is in progress but not yet committed to the database.

The automatic recovery stage of server startup may take a long time if the server suddenly fails and is then restarted.

If an individual transaction is responsible for a lot of the space usage, that transaction may take a long time to roll back if it fails.

The final checkpoint stage of a normal server shutdown may also take a long time while the changes recorded in a large rollback log are being reversed.

Performance Tip: The count of Uncommitted operations includes (and may be exactly equal to) the number of uncommitted row-level inserts, updates and deletes.

The count of Uncommitted operations may be larger than the number of INSERT, UPDATE and DELETE statements because one statement can affect many rows.

If a single row is inserted, then updated twice and finally deleted, for example, that counts as four Uncommitted operations.

If a single row matches the WHERE clause of an UPDATE statement but all of the new column values in the SET clause are the same as the current values in the row, that row is not updated and the operation is not counted as an Uncommitted operation.

A table-level schema lock obtained by a SELECT statement is not counted as an Uncommitted operation even though the lock is not cleared until a subsequent commit or rollback (and may thus be regarded as "uncommitted").

This Flag is set when the number of uncommitted operations for this connection has met or exceeded the threshold number.

This Flag is cleared when the number of uncommitted operations for this connection falls below the threshold number.

Flag #8 - Uncommitted operations is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level UncommitOp property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Total Transaction Time
Alert #28 Long transaction
Alert #32 Rollback log usage
Alert #33 Uncommitted operations
Alert #34 Long uncommitted
Connection Flag #3 Long transaction
Connection Flag #7 Rollback log usage
Connection Flag #9 Long uncommitted
Connection Flag #23 Total transaction time
AutoDrop #3 Long transaction


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #9 - Long uncommitted - The number of uncommitted operations is [100] or more and transaction running time is [1m] or longer.

The Flag #9 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "uncommitted operations is xxx" text box specifies the threshold number of uncommitted operations of 1 or more, and the "transaction running time is xxx" text box specifies the threshold transaction running time duration of 1s or more, using the "d h m s ms" input format; e.g., 10s for 10 seconds.

This Flag measures both work and time; see also Flag #7 Rollback log usage and Flag #8 Uncommitted operations.

Performance Tip: This Flag is useful if you want to be warned when a single connection is sucking all the air out of the room; i.e., when a long-running transaction has a performed a large amount of work that is not yet committed to the database.

Performance Tip: The count of Uncommitted operations includes (and may be exactly equal to) the number of uncommitted row-level inserts, updates and deletes.

The count of Uncommitted operations may be larger than the number of INSERT, UPDATE and DELETE statements because one statement can affect many rows.

If a single row is inserted, then updated twice and finally deleted, for example, that counts as four Uncommitted operations.

If a single row matches the WHERE clause of an UPDATE statement but all of the new column values in the SET clause are the same as the current values in the row, that row is not updated and the operation is not counted as an Uncommitted operation.

A table-level schema lock obtained by a SELECT statement is not counted as an Uncommitted operation even though the lock is not cleared until a subsequent commit or rollback (and may thus be regarded as "uncommitted").

This Flag is set when the following conditions are both met:

This Flag is cleared when one or the other or both of those conditions are no longer met.

Flag #9 - Long uncommitted is supported for target databases running on SQL Anywhere 8 and later, and is based on the connection-level UncommitOp and TransactionStartTime properties.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Total Transaction Time
Alert #28 Long transaction
Alert #32 Rollback log usage
Alert #33 Uncommitted operations
Alert #34 Long uncommitted
Connection Flag #3 Long transaction
Connection Flag #7 Rollback log usage
Connection Flag #8 Uncommitted operations
Connection Flag #23 Total transaction time
AutoDrop #3 Long transaction


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #10 - Child connections - The number of child connections is [1] or more.

The Flag #10 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "child connections is xxx" text box specifies the threshold number of child connections of 1 or more.

A child connection is an internally-generated connection that is under the control of a different connection, called the parent connection. Multiple "INT: Exchange" child connections associated with a single application parent connection indicates use of intra-query parallelism.

Performance Tip: This Flag may indicate this connection is using intra-query parallelism.

This Flag is set when the number of child connections started by this connection has met or exceeded the threshold number.

This Flag is cleared when the number of child connections started by this connection falls below the threshold number.

Flag #10 - Child connections is supported for target databases running on SQL Anywhere 12 and later, and is based on the connection-level ParentConnection property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Conns / Parent, Child Conns
Monitor - Connections - Conn #, User, OS User, IP, Name
Monitor - Connections - CPU, Child Conns
Alert #26 Connections


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #11 - Cache satisfaction - The cache satisfaction is [98]% or less..

The Flag #11 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "cache satisfaction is xxx" text box specifies the threshold cache satisfaction percentage of 1 to 99.

Cache Satisfaction is the percentage of times since this connection started that a database page lookup for this connection was satisfied by the cache.

Performance Tip: This Flag may indicate that insufficient memory in the database cache is a performance bottleneck.

Performance Tip: In some situations it is inevitable for Cache Satisfaction to drop below 100%; e.g., when a very busy database is starting up, when a very heavy workload starts up, when a process starts rapidly reading old data that has been inactive for a long time, or when the database is much larger than the cache... or any or all of the above.

On the other hand... a rule of thumb for databases in modern times is this: You can never have too much RAM cache.

In the end, you must be the judge: If performance is OK, but you're seeing a lot of Alert #20, disable that alert or lower the threshold (e.g., to 80% etc).

However, if performance is bad, maybe you need more RAM cache.

This Flag is set when the cache satisfaction for this connection has met or exceeded the threshold percentage.

This Flag is cleared when the cache satisfaction for this connection falls below the threshold percentage.

Flag #11 - Cache satisfaction is supported for target databases running on SQL Anywhere 8 and later, and is based on the connection-level CacheHits and CacheRead properties.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Cache
Monitor - Cache Panics, Low Memory, Satisfaction.
Monitor - Disk/Cache: Internal Index, Leaf, Table
Monitor - Connections - Low Memory, Cache Satisfaction
Monitor - Connections - Disk/Cache: Internal Index, Leaf, Table
Alert #19 Cache size
Alert #20 Cache satisfaction
Alert #29 Cache panics


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #12 - Disk read rate - The rate of disk reads is [100]/s or larger.

The Flag #12 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "rate of disk reads is xxx" text box specifies the threshold rate of disk reads per second of 1 or more.

Disk read rate is the pages per second rate at which pages were read from disk for this connection in the previous interval.

Performance Tip: This Flag may indicate that heavy disk I/O is a performance bottleneck.

This Flag is set when the rate of disk reads performed by this connection has met or exceeded the threshold rate.

This Flag is cleared when the rate of disk reads performed by this connection falls below the threshold rate.

Flag #12 - Disk read rate is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level DiskRead property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Incomplete Reads, Writes
Monitor - Disk Reads, Disk Writes, Log Writes
Monitor - Connections - Disk Reads, Disk Writes, Log Writes
Alert #15 Incomplete I/O
Alert #16 I/O operations
Connection Flag #13 Disk write rate
Connection Flag #14 Log write rate
Connection Flag #25 Total disk reads
Connection Flag #26 Total disk writes
Connection Flag #27 Total log writes


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #13 - Disk write rate - The rate of disk writes is [100]/s or larger.

The Flag #13 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "rate of disk writes is xxx" text box specifies the threshold rate of disk writes per second of 1 or more.

Disk write rate is the pages per second rate at which modified pages were written to disk for this connection in the previous interval.

Performance Tip: This Flag may indicate that heavy disk I/O is a performance bottleneck.

This Flag is set when the rate of disk writes performed by this connection has met or exceeded the threshold rate.

This Flag is cleared when the rate of disk writes performed by this connection falls below the threshold rate.

Flag #13 - Disk write rate is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level DiskWrite property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Incomplete Reads, Writes
Monitor - Disk Reads, Disk Writes, Log Writes
Monitor - Connections - Disk Reads, Disk Writes, Log Writes
Alert #15 Incomplete I/O
Alert #16 I/O operations
Connection Flag #12 Disk read rate
Connection Flag #14 Log write rate
Connection Flag #25 Total disk reads
Connection Flag #26 Total disk writes
Connection Flag #27 Total log writes


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #14 - Log write rate - The rate of log writes is [100]/s or larger.

The Flag #14 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "rate of log writes is xxx" text box specifies the threshold rate of log writes per second of 1 or more.

Log write rate is the pages per second rate at which pages were written to the transaction log for this connection in the previous interval.

Performance Tip: This Flag may indicate that that heavy database insert, update and/or delete operations are a performance bottleneck.

This Flag is set when the rate of log writes performed by this connection has met or exceeded the threshold rate.

This Flag is cleared when the rate of log writes performed by this connection falls below the threshold rate.

Flag #14 - Log write rate is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level LogWrite property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Incomplete Reads, Writes
Monitor - Disk Reads, Disk Writes, Log Writes
Monitor - Connections - Disk Reads, Disk Writes, Log Writes
Alert #15 Incomplete I/O
Alert #16 I/O operations
Connection Flag #12 Disk read rate
Connection Flag #13 Disk write rate
Connection Flag #25 Total disk reads
Connection Flag #26 Total disk writes
Connection Flag #27 Total log writes


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #15 - Index add rate - The rate of index additions is [100]/s or larger.

The Flag #1 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "rate of index additions is xxx" text box specifies the threshold rate of index additions per second of 1 or more.

Index add rate is the entries per second rate at which entries were added to indexes for this connection in the previous interval.

Performance Tip: A large Index Adds value may indicate that a large number of row inserts is a performance bottleneck.

It may also indicate that a large number of row updates are changing the values of index columns, causing new index entries to be added even though no new rows are being inserted.

Index column updates may be performed directly, or indirectly when some other non-indexed columns are updated but there is an index on a DEFAULT TIMESTAMP column that is implicitly changed when any other columns are updated.

This Flag is set when the rate of index additions performed by this connection has met or exceeded the threshold rate.

This Flag is cleared when the rate of index additions performed by this connection falls below the threshold rate.

Flag #15 - Index add rate is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level IndAdd property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Disk/Cache: Internal Index, Leaf, Table
Monitor - Index Adds, Lookups, Satisfaction
Monitor - Full Index Comps
Monitor - Connections - Disk/Cache: Internal Index, Leaf, Table
Monitor - Connections - Index Adds, Lookups, Satisfaction
Monitor - Connections - Full Index Comps
Connection Flag #16 Index lookup rate
Connection Flag #17 Index satisfaction
Connection Flag #18 Full index comp rate
Connection Flag #28 Total index adds
Connection Flag #29 Total index lookups
Connection Flag #30 Total full index comps
SQL Anywhere's Graphical Plan With Statistics feature


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #16 - Index lookup rate - The rate of index lookups is [100]/s or larger.

The Flag #16 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "rate of index lookups is xxx" text box specifies the threshold rate of index lookups per second of 1 or more.

Index lookup rate is the entries per second rate at which entries were looked up in indexes for this connection in the previous interval.

Performance Tip: A large Index Lookups value may indicate that heavy index usage is a performance bottleneck ...or just the opposite; heavy index usage is often better than the alternative (frequent retrieval of data pages).

This Flag is set when the rate of index lookups performed by this connection has met or exceeded the threshold rate.

This Flag is cleared when the rate of index lookups performed by this connection falls below the threshold rate.

Flag #16 - Index lookup rate is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level IndLookup property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Disk/Cache: Internal Index, Leaf, Table
Monitor - Index Adds, Lookups, Satisfaction
Monitor - Full Index Comps
Monitor - Connections - Disk/Cache: Internal Index, Leaf, Table
Monitor - Connections - Index Adds, Lookups, Satisfaction
Monitor - Connections - Full Index Comps
Connection Flag #15 Index add rate
Connection Flag #17 Index satisfaction
Connection Flag #18 Full index comp rate
Connection Flag #28 Total index adds
Connection Flag #29 Total index lookups
Connection Flag #30 Total full index comps
SQL Anywhere's Graphical Plan With Statistics feature


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #17 - Index satisfaction - The index satisfaction is [99]% or less.

The Flag #17 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "index satisfaction is xxx" text box specifies the threshold index satisfaction percentage of 1 to 99.

Index Satisfaction is the percentage of times that an index lookup was satisfied by the index without having to retrieve more information from the table data, for this connection since it started. Performance Tip: A small Index Satisfaction value (less than 100%) may indicate that a performance bottleneck is caused by full index comparisons.

A full index comparison occurs when data stored in the physical index pages is not sufficient to satisfy an index lookup, and additional index data must be retrieved from the physical table pages.

This Flag is set when the index satisfaction for this connection has met or exceeded the threshold percentage.

This Flag is cleared when the index satisfaction for this connection falls below the threshold percentage.

Flag #17 - Index satisfaction is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level IndLookup and FullCompare properties.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Disk/Cache: Internal Index, Leaf, Table
Monitor - Index Adds, Lookups, Satisfaction
Monitor - Full Index Comps
Monitor - Connections - Disk/Cache: Internal Index, Leaf, Table
Monitor - Connections - Index Adds, Lookups, Satisfaction
Monitor - Connections - Full Index Comps
Connection Flag #15 Index add rate
Connection Flag #16 Index lookup rate
Connection Flag #18 Full index comp rate
Connection Flag #28 Total index adds
Connection Flag #29 Total index lookups
Connection Flag #30 Total full index comps
SQL Anywhere's Graphical Plan With Statistics feature


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #18 - Full index comp rate - The rate of full index comparisons is [1]/s or larger.

The Flag #18 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "rate of full index comparisons is xxx" text box specifies the threshold rate of full index comparisons per second of 1 or more.

Full index comp rate is the rate at which additional information had to be obtained from the table data in order to satisfy an index lookup, for this connection in the previous interval.

Performance Tip: A large Full Index Comps value (more than zero) may indicate that a performance bottleneck is caused by full index comparisons.

A full index comparison occurs when data stored in the physical index pages is not sufficient to satisfy an index lookup, and additional index data must be retrieved from the physical table pages.

This Flag is set when the rate of rate of full index comparisons performed by this connection has met or exceeded the threshold rate.

This Flag is cleared when the rate of rate of full index comparisons performed by this connection falls below the threshold rate.

Flag #18 - Full index comp rate is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level FullCompare property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Full Index Comps
Monitor - Connections - Full Index Comps
Monitor - Index Adds, Lookups, Satisfaction
Monitor - Connections - Index Adds, Lookups, Satisfaction
Connection Flag #16 Index lookup rate
Connection Flag #17 Index satisfaction
Connection Flag #30 Total full index comps
SQL Anywhere's Graphical Plan With Statistics feature


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #19 - User id usage - The same user id is used on [100] or more connections.

The Flag #19 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "is used on xxx" text box specifies the threshold total number of connections of 2 or more.

User id (e.g., DBA) is the SQL Anywhere user id used by this connection.

Performance Tip: This Flag may indicate that too many client connections have been started by one single end user.

However, many production databases are designed to share the same user id among many connections, and this flag is just annoying. For that reason Foxhound is delivered with this flag disabled by default.

This Flag is set when the total number of connections using same user id as this connection has met or exceeded the threshold number.

Note that this flag is not set for child connections, and child connections are not counted when setting this flag for other connections.

This Flag is cleared when the total number of connections using same user id as this connection falls below the threshold percentage.

Flag #19 - User id usage is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level Userid property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Conns / Parent, Child Conns
Monitor - Connections - Conn #, User, OS User, IP, Name
Monitor - Connections - CPU, Child Conns
Alert #26 Connections
Connection Flag #10 Child connections
Connection Flag #20 OS user usage
Connection Flag #21 IP address usage
Connection Flag #22 Connection name usage


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #20 - OS user usage - The same OS user is used on [100] or more connections.

The Flag #20 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "is used on xxx" text box specifies the threshold total number of connections of 2 or more.

OS User is the operating system user id associated with the client process; it may not be filled in, in which case the connection is not considered when setting this flag.

Performance Tip: This Flag may indicate that too many client connections have been started by one single end user.

However, many production databases are designed to share the same OS User among many connections, and this flag is just annoying. For that reason Foxhound is delivered with this flag disabled by default.

This Flag is set when the total number of connections using same OS user as this connection has met or exceeded the threshold number.

Note that this flag is not set for child connections, and child connections are not counted when setting this flag for other connections.

This Flag is cleared when the total number of connections using same OS user as this connection falls below the threshold percentage.

Flag #20 - OS user usage is supported for target databases running on SQL Anywhere 11 and later and is based on the connection-level OSUser property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Conns / Parent, Child Conns
Monitor - Connections - Conn #, User, OS User, IP, Name
Monitor - Connections - CPU, Child Conns
Alert #26 Connections
Connection Flag #10 Child connections
Connection Flag #19 User id usage
Connection Flag #21 IP address usage
Connection Flag #22 Connection name usage


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #21 - IP address usage - The same IP address is used on [100] or more connections.

The Flag #21 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "is used on xxx" text box specifies the threshold total number of connections of 2 or more.

IP address is the network IP address (e.g., 192.168.1.104) of the client side of the connection; it may not be filled in, in which case the connection is not considered when setting this flag.

Performance Tip: This Flag may indicate that too many client connections have been started by one single end user.

However, many production databases are designed to share the same IP address among many connections, and this flag is just annoying. For that reason Foxhound is delivered with this flag disabled by default.

This Flag is set when the total number of connections using same IP address as this connection has met or exceeded the threshold number.

Note that this flag is not set for child connections, and child connections are not counted when setting this flag for other connections.

This Flag is cleared when the total number of connections using same IP address as this connection falls below the threshold percentage.

Flag #21 - IP address usage is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level NodeAddress property.
Note that NodeAddress properties containing the string 'NA' are treated the same as empty, blank and NULL values, and are displayed as '-'.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Conns / Parent, Child Conns
Monitor - Connections - Conn #, User, OS User, IP, Name
Monitor - Connections - CPU, Child Conns
Alert #26 Connections
Connection Flag #10 Child connections
Connection Flag #19 User id usage
Connection Flag #20 OS user usage
Connection Flag #22 Connection name usage


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #22 - Connection name usage - The same connection name is used on [100] or more connections.

The Flag #22 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "is used on xxx" text box specifies the threshold total number of connections of 2 or more.

Connection name is the name assigned to this connection by the application; it may not be filled in, in which case the connection is not considered when setting this flag.

Performance Tip: This Flag may indicate that too many client connections have been started by one single end user.

However, many production databases are designed to share the same Connection name among many connections, and this flag is just annoying. For that reason Foxhound is delivered with this flag disabled by default.

This Flag is set when the total number of connections using same connection name as this connection has met or exceeded the threshold number.

Note that this flag is not set for child connections, and child connections are not counted when setting this flag for other connections.

This Flag is cleared when the total number of connections using same connection name as this connection falls below the threshold percentage.

Flag #22 - Connection name usage is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level Name property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Conns / Parent, Child Conns
Monitor - Connections - Conn #, User, OS User, IP, Name
Monitor - Connections - CPU, Child Conns
Alert #26 Connections
Connection Flag #10 Child connections
Connection Flag #19 User id usage
Connection Flag #20 OS user usage
Connection Flag #21 IP address usage


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #23 - Total transaction time - The total transaction running time is [5h] or more.

The Flag #23 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "total transaction running time is xxx" text box specifies the threshold total transaction running time duration of 1s or more, using the "d h m s ms" input format; e.g., 10s for 10 seconds, 3d for 3 days, 1h 30m for 1 hour and 30 minutes.

The total transaction running time is an approximate sum of transaction running times for this connection since samples were first collected for this connection.

This number is approximate because SQL Anywhere only records the Transaction Start Time, and it discards that value as soon as a transaction is complete. Since Foxhound only records samples every 10 seconds, short transactions may be entirely or partly missed.

Performance Tip: This Flag may indicate that that long-running transactions are a performance bottleneck.

This Flag is set when total transaction running time used by this connection has met or exceeded the threshold duration.

Once set, this is not cleared; it remains set until the connection ends.

Flag #23 - Total transaction time is supported for target databases running on SQL Anywhere 8 and later, and is based on the connection-level TransactionStartTime property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Locks Held, Conns Blocked, Transaction Time
Monitor - Connections - Temp Space, Rollback Log, Uncommitted
Monitor - Connections - Total Transaction Time
Alert #28 Long transaction
Alert #32 Rollback log usage
Alert #33 Uncommitted operations
Alert #34 Long uncommitted
Connection Flag #3 Long transaction
Connection Flag #7 Rollback log usage
Connection Flag #8 Uncommitted operations
Connection Flag #9 Long uncommitted
AutoDrop #3 Long transaction


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #24 - Total CPU time - The total CPU time is [1h] or more.

The Flag #24 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "total CPU time is xxx" text box specifies the threshold total CPU time duration of 1s or more, using the "d h m s ms" input format; e.g., 10s for 10 seconds, 3d for 3 days, 1h 30m for 1 hour and 30 minutes.

The Total CPU time shows how much CPU time was used by this connection since it started.

Performance Tip: This Flag may indicate that high CPU usage is a performance bottleneck.

This Flag is set when the total CPU time used by this connection has met or exceeded the threshold duration.

Once set, this Flag is not cleared; it remains set until the connection ends.

Flag #24 - Total CPU time is supported for target databases running on SQL Anywhere 10 and later, and is based on the connection-level ApproximateCPUTime property and the server-level NumLogicalProcessorsUsed property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - CPU
Monitor - Connections - CPU, Child Conns
Alert #4 CPU usage
Alert #27 Connection CPU
Connection Flag #5 CPU usage
AutoDrop #5 CPU usage


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #25 - Total disk reads - The total disk reads is [1,000,000] or more.

The Flag #25 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "total disk reads is xxx" text box specifies the threshold total number of disk reads of 1 or more.

Total disk reads is the number of pages that were read from disk by this connection since it started.

Performance Tip: This Flag may indicate that heavy disk I/O is a performance bottleneck.

This Flag is set when the total number of disk reads executed by this connection has met or exceeded the threshold number.

Once set, this Flag is not cleared; it remains set until the connection ends.

Flag #25 - Total disk reads is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level DiskRead property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Incomplete Reads, Writes
Monitor - Disk Reads, Disk Writes, Log Writes
Monitor - Connections - Disk Reads, Disk Writes, Log Writes
Alert #15 Incomplete I/O
Alert #16 I/O operations
Connection Flag #12 Disk read rate
Connection Flag #13 Disk write rate
Connection Flag #14 Log write rate
Connection Flag #26 Total disk writes
Connection Flag #27 Total log writes


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #26 - Total disk writes - The total disk writes is [1,000,000] or more.

The Flag #26 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "total disk writes is xxx" text box specifies the threshold total number of disk writes of 1 or more.

Total disk writes is the number of pages that were written to disk by this connection since it started.

Performance Tip: This Flag may indicate that heavy disk I/O is a performance bottleneck.

This Flag is set when the total number of disk writes executed by this connection has met or exceeded the threshold number.

Once set, this Flag is not cleared; it remains set until the connection ends.

Flag #26 - Total disk writes is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level DiskWrite property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Incomplete Reads, Writes
Monitor - Disk Reads, Disk Writes, Log Writes
Monitor - Connections - Disk Reads, Disk Writes, Log Writes
Alert #15 Incomplete I/O
Alert #16 I/O operations
Connection Flag #12 Disk read rate
Connection Flag #13 Disk write rate
Connection Flag #14 Log write rate
Connection Flag #25 Total disk reads
Connection Flag #27 Total log writes


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #27 - Total log writes - The total log writes is [1,000,000] or more.

The Flag #27 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "total log writes is xxx" text box specifies the threshold total number of log writes of 1 or more.

Total log writes is the number of log pages that were written to disk by this connection since it started.

Performance Tip: This Flag may indicate that that heavy database insert, update and/or delete operations are a performance bottleneck.

This Flag is set when the total number of log writes executed by this connection has met or exceeded the threshold number.

Once set, this Flag is not cleared; it remains set until the connection ends.

Flag #27 - Total log writes is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level LogWrite property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Incomplete Reads, Writes
Monitor - Disk Reads, Disk Writes, Log Writes
Monitor - Connections - Disk Reads, Disk Writes, Log Writes
Alert #15 Incomplete I/O
Alert #16 I/O operations
Connection Flag #12 Disk read rate
Connection Flag #13 Disk write rate
Connection Flag #14 Log write rate
Connection Flag #25 Total disk reads
Connection Flag #26 Total disk writes


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #28 - Total index adds - The total index adds is [1,000,000] or more.

The Flag #28 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "total index adds is xxx" text box specifies the threshold total number of index additions of 1 or more.

Total index adds is the number of times entries that were added to indexes by this connection since it started.

Performance Tip: A large Index Adds value may indicate that a large number of row inserts is a performance bottleneck.

It may also indicate that a large number of row updates are changing the values of index columns, causing new index entries to be added even though no new rows are being inserted.

Index column updates may be performed directly, or indirectly when some other non-indexed columns are updated but there is an index on a DEFAULT TIMESTAMP column that is implicitly changed when any other columns are updated.

This Flag is set when the total index adds executed by this connection has met or exceeded the threshold number.

Once set, this Flag is not cleared; it remains set until the connection ends.

Flag #28 - Total index adds is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level IndAdd property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Disk/Cache: Internal Index, Leaf, Table
Monitor - Index Adds, Lookups, Satisfaction
Monitor - Full Index Comps
Monitor - Connections - Disk/Cache: Internal Index, Leaf, Table
Monitor - Connections - Index Adds, Lookups, Satisfaction
Monitor - Connections - Full Index Comps
Connection Flag #15 Index add rate
Connection Flag #16 Index lookup rate
Connection Flag #17 Index satisfaction
Connection Flag #18 Full index comp rate
Connection Flag #29 Total index lookups
Connection Flag #30 Total full index comps
SQL Anywhere's Graphical Plan With Statistics feature


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #29 - Total index lookups - The total index lookups is [1,000,000] or more.

The Flag #29 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "total index lookups is xxx" text box specifies the threshold total number of index lookups of 1 or more.

Total index lookups is the number of times entries were looked up in indexes by this connection since it started.

Performance Tip: A large Index Lookups value may indicate that heavy index usage is a performance bottleneck ...or just the opposite; heavy index usage is often better than the alternative (frequent retrieval of data pages).

This Flag is set when the total index lookups executed by this connection has met or exceeded the threshold number.

Once set, this Flag is not cleared; it remains set until the connection ends.

Flag #29 - Total index lookups is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level IndLookup property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Disk/Cache: Internal Index, Leaf, Table
Monitor - Index Adds, Lookups, Satisfaction
Monitor - Full Index Comps
Monitor - Connections - Disk/Cache: Internal Index, Leaf, Table
Monitor - Connections - Index Adds, Lookups, Satisfaction
Monitor - Connections - Full Index Comps
Connection Flag #15 Index add rate
Connection Flag #16 Index lookup rate
Connection Flag #17 Index satisfaction
Connection Flag #18 Full index comp rate
Connection Flag #28 Total index adds
Connection Flag #30 Total full index comps
SQL Anywhere's Graphical Plan With Statistics feature


Foxhound 5 7. The Monitor Options Page 17. Flag Settings 

Connection Flag #30 - Total full index comps - The total full index comparisons is [1,000] or more.

The Flag #30 enabled checkbox specifies whether or not you want Foxhound to flag connections with this condition.

The "total full index comparisons is xxx" text box specifies the threshold total number of full index comparisons of 1 or more.

Total full index comps is the number of times additional information had to be obtained from the table data in order to satisfy an index lookup, by this connection since it started.

Performance Tip: A large Full Index Comps value (more than zero) may indicate that a performance bottleneck is caused by full index comparisons.

A full index comparison occurs when data stored in the physical index pages is not sufficient to satisfy an index lookup, and additional index data must be retrieved from the physical table pages.

This Flag is set when the total number of full index comparisons executed by this connection has met or exceeded the threshold number.

Once set, this Flag is not cleared; it remains set until the connection ends.

Flag #30 - Total full index comps is supported for target databases running on all versions of SQL Anywhere that are supported by Foxhound, and is based on the connection-level FullCompare property.

You must click if you want your changes saved. Any one of the Save buttons will save all the changes you have made anywhere on this page.

See also:

Monitor - Full Index Comps
Monitor - Connections - Full Index Comps
Monitor - Index Adds, Lookups, Satisfaction
Monitor - Connections - Index Adds, Lookups, Satisfaction
Connection Flag #16 Index lookup rate
Connection Flag #17 Index satisfaction
Connection Flag #18 Full index comp rate
SQL Anywhere's Graphical Plan With Statistics feature


Foxhound 5 7. The Monitor Options Page 
18. Server Messages

These settings control how Foxhound handles the gathering and display of server messages returned by the sa_server_messages() procedure available in target databases running on SQL Anywhere 11 and later.

Gather server messages from a non-OFSS target database
Display server messages on the Foxhound Monitor and Sample History pages


Foxhound 5 7. The Monitor Options Page 18. Server Messages 

Gather server messages from a non-OFSS target database

Check this box to tell Foxhound to call the sa_server_messages() procedure on a non-OFSS target database and store the server messages in the Foxhound database.

Administrative Tip: You must use a different technique on an OFSS database; see this section in the Help: How to customize OFSS - Disable capturing of server messages.

Administrative Tip: If you disable the gathering of server messages for a while, and enable it later on, the missing messages may suddenly appear in Foxhound.

That's because the SQL Anywhere server saves old messages for a long time, and Foxhound will gather them up regardless of their age.

Foxhound will also display them in msg_time order so they may appear interspersed among old samples.

Administrative Tip: Foxhound does bypass messages that don't apply.

In particular, server messages are gathered and stored only when the sa_server_messages().msg_database column is empty or matches the target database name.

For example, when 100 databases are running on one SQL Server, Foxhound will only store and display one pair of CHKPT started/finished messages in each sampling session; the other 99 sets are excluded. This makes a huge difference when you're running Foxhound sampling sessions on all 100 databases... 100 pairs of CHKPT messages stored every time a checkpoint is taken, instead of 100 * 100 = 10,000 pairs of CHKPT messages.

Administrative Tip: You may see gaps in server messages gathered from your target database.

That can happen after SQL Anywhere applies the MessageCategoryLimit setting to delete old messages with the same category and severity.

You can change this setting by executing this statement on your target database (this CALL shows the default value):

CALL sa_server_option ( 'MessageCategoryLimit', '400' );


Foxhound 5 7. The Monitor Options Page 18. Server Messages 

Display server messages on the Foxhound Monitor and Sample History pages

Check this box to tell Foxhound to display server messages that have already been gathered by calls to the sa_server_messages() procedure on an OFSS or non-OFSS database.

For more information see Monitor - Server Messages.


Foxhound 5 7. The Monitor Options Page