Help for Foxhound 1.1.3832a

Table of Contents    [RisingRoad]


3. The Monitor Database Page

The Monitor Database page shows current server and database-level performance statistics for the target database, as well as information about current connections.

3.1 The Monitor Database Menu

3.2 The Monitor Control Panel

3.3 The Monitor Status Area

3.4 Most Recent Sample

3.5 Peaks

3.6 Recent Samples

3.7 Blocked Connections

3.8 Connections


3.1 The Monitor Database Menu    [Top]

The Back to Menu link displays the main Foxhound menu page in the current browser window or tab.

The DSN: / Connection String: title shows the name of the DSN or Connection String that you used to connect to the target database. This identifies the "current target database", a term used in this Help.

If the target database GlobalDBId property is set to a non-default value, that value will be shown in (parentheses) after the DSN: or Connection String: title. This makes it easier to tell different remote databases apart in a replicating or synchronizing environment.

The History link opens the History page for this sampling session in a new browser window or tab

The Schema link opens the Display Schema page for this target database in a new browser window or tab.

The New Menu link opens the main Foxhound menu page in a new browser window or tab.

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

The Help link is a context-sensitive link to this Help topic.

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

The button hides this Help frame from view, and brings it back.


3.2 The Monitor Control Panel    [Top]

The Monitor Control Panel lets you view and control the Foxhound Monitor sampling and display processes. These processes are completely separate:

The Sampling: status shows whether or not the sampling session is running in the background.

The button lets you stop the sampling session. This doesn't delete the session, it just suspends the sampling process.

The button may appear instead of Stop Sampling. The Cancel Request button lets you stop further attempts to start or re-start the sampling session. If Foxhound can't connect to the target database, it will keep trying forever, unless you press Cancel Request or the connection timeout period is exceeded. See the Foxhound Options page for more information on connection timeouts.

The button tells Foxhound to try to start the sampling session.

The button immediately updates the information displayed on this page without waiting for the regular refresh.

If the display is paused but the sampling session is running, you can press Refresh Display to show the most recent sample without restarting the automatic refresh process.

The (number) in parentheses after the Refresh Display button tells you how many times this page has been refreshed.

The button stops the Monitor page from being refreshed every 10 seconds, and the button starts it again.

Neither button affects the background sampling process one way or the other. For example, if the sampling session is running and you press Pause Display and later press Run Display, the displayed data "catches up" with the most recent sample.

The button immediately and permanently deletes Foxhound's current record of peak sample values for this target database, causing the Peaks since section to disappear.

The recording of peak values will automatically restart with the next successful sample and the Peaks section will reappear.

The Reset Peaks button has no effect on the sample data itself, just the record of peak values.

Note: The phrase "permanently deletes" means there is no "cancel" or "undo" facility. It doesn't mean you can't ever see peaks again; in fact, new values usually reappear with the next refresh.

The Alerts Criteria link opens the Alerts Criteria page in a new browser window or tab. That page lets you enable and disable different alerts, and change the conditions under which alerts are issued.


3.3 The Monitor Status Area    [Top]

The two-line date/time at the left tells you when this page was displayed.

The Status: message tells you whether the sampling process is running OK, or some other condition has been detected.

The Server version: tells you what version of SQL Anywhere software is being used to run the target database. This is based on the ProductVersion property.

The Database file version: shows the version and build number of the SQL Anywhere software that was used to initialize the target database file.

For database files created with SQL Anywhere Version 9 and higher this field is based on the SYSHISTORY table. For database files created with earlier versions (5.5 through 8) Foxhound uses a proprietary process to determine the value to display. For early versions and for databases that have had the upgrade utility run on them this value may be somewhat imprecise.

Using n CPUs / Was using n CPUs tells you how many CPUs are being used to run the target database.

This field is based on the NumLogicalProcessorsUsed and NumProcessorsAvail properties.

The Running for / Was running for field tells you how long the target server has been running. For example, 32d 7h 38m 23s means "32 days, 7 hours, 38 minutes and 23 seconds".

This field is based on the StartTime property.

The Cache is / Cache was field tells you how much RAM the server is using for the database cache, and how current cache size compares with the maximum.

These fields are based on the CurrentCacheSize and MaxCacheSize properties.

The Started at date/time tells you when the target server was started, relative to the computer on which Foxhound is running.

This field is based on the StartTime property.

SPs OK: YYY, NNN or some combination of Ys and Ns indicates whether or not Foxhound has deployed, and is using, these three stored procedure on the target database: rroad_connection_properties, rroad_database_properties and rroad_engine_properties.

These stored procedures are used by Foxhound to improve the performance of the sampling process, but they are not absolutely required. If the user id that Foxhound uses to connect to the target database doesn't have the RESOURCE authority then Foxhound won't be able to CREATE these procedures on the target database.

If SPs OK: isn't all Ys, try stopping and starting sampling to see if the Foxhound's inability to push these procedures to the target database was a transient condition.

The Database file: field is the full file specification for the target database.

This field is based on the File property.


3.4 Most Recent Sample    [Top]

The Most Recent Sample section shows the most recent successful sample, if there is one.

A "successful sample" is one that actually shows performance data rather than a message like "Database server not found".

The Most Recent Sample section consists of 5 or 6 lines:

The rest of the color highlighting in this section is controlled by values in the Peaks section below it, as follows:

Dashes "-" are displayed for omitted column values instead of empty spaces. This makes it clear which values are not available or not applicable, and it also makes the resulting text somewhat easier to read when you use copy-and-paste. For example, the "CPU Time" percentage appears as a dash "-" for the first sample because it can only be calculated for second and later samples.

Note: This use of dashes "-" does not apply to columns which have been entirely omitted because the data is not available for the version of SQL Anywhere being used for the target database; e.g., the "CPU Time" column does not appear at all for version 5 and 6 target databases.

The Most Recent Sample column shows the date/time that Foxhound recorded the most recent successful sample.

The Interval column shows the actual time interval between the previous sample and this one.

Foxhound tries to record a new sample every 10 seconds but the actual interval can vary. A very long interval like 1h 19m 48s may indicate the computer was in standby mode.

Heartbeat, Sample Times:

The Heartbeat and Sample Time numbers are calculated by Foxhound; they are not based on any builtin SQL Anywhere properties.

The Conns column shows how many connections existed, with Foxhound itself counting as 1.

This number is based on the ConnCount property, and it may differ slightly from the number of connections shown in the connections detail section at the bottom of the page, because the ConnCount property and connection details are recorded at slightly different points in time.

The Executing, Idle, Waiting Conns columns show how many connections were executing, idle or waiting.

These numbers are based on the ReqStatus and RequestTiming properties, and they will be empty if connection details are not being recorded; see Foxhound Options - Connection sampling threshold.

The Req column shows how many times the server has started processing a new request or resumed processing an existing request, during the preceding interval (+nnn) and since the target server was started.

A request is an atomic unit of work performed for a connection.

This number is based on the Req property.

Active Req, Max Req, Waiting Req:

A request is an atomic unit of work performed for a connection.

These numbers are based on the ActiveReq, MultiProgrammingLevel, Threads and UnschReq properties.

Locks Held, Conns Blocked:

These numbers are based on the LockCount and BlockedOn properties. The Conns Blocked column will be empty if connection details are not being recorded; see Foxhound Options - Connection sampling threshold.

The CPU Time column shows three values:

These numbers are based on the following properties: NumLogicalProcessorsUsed, NumProcessorsAvail, NumProcessorsMax and ProcessCPU.

The Temp Space column shows the total amount of temporary space used by all the connections.

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.

This column is based on the PageSize and TempFilePages properties, and it will be empty if connection details are not being recorded; see Foxhound Options - Connection sampling threshold.

Cache Panics, Low Memory, Satisfaction:

These numbers are based on the CacheHits, CachePanics, CacheRead and QueryLowMemoryStrategy properties.

The Active I/Os column shows the number of file I/O requests that had not yet been completed.

This column is based on the CurrIO property.

Checkpoint, Recovery Urgency:

These numbers are based on the CheckpointUrgency and RecoveryUrgency properties, and they are used by the target server to help decide when to take a checkpoint. They both increase monotonically until a checkpoint is taken, then drop to zero.

Checkpoints, Commits, Rollbacks:

These numbers are based on the Chkpt, Commit and Rlbk properties. The Commits and Rollbacks columns will be empty if connection details are not being recorded; see Foxhound Options - Connection sampling threshold.

The DB File Frags column is the number of file fragments in the SYSTEM dbspace file.

This column is based on the DBFileFragments property.

Free Disk Space - Sys, Temp, Log, Other:

These numbers are based on the properties returned by the sa_disk_free_space procedure. The Log column will be empty for an in-memory database, and the Other column will be empty for any database that doesn't have any secondary database files.

Disk Reads, Writes:

These numbers are based on the DiskRead and DiskWrite properties.

The Log Writes column shows the number of pages that have been written to the transaction log, in the previous interval (top number +nn) and since the server started (nn).

This column is based on the LogWrite property.

Index Adds, Lookups, Satisfaction:

These numbers are based on the IndAdd, IndLookup and FullCompare properties.

Full Index Comps shows how many times additional information had to be obtained from the table data in order to satisfy an index lookup, in the previous interval (top number +nn) and since the server started (nn).

This number is based on the FullCompare property.

Bytes In / Out:

These numbers are based on the BytesReceived and BytesSent properties.


3.5 Peaks    [Top]

You can click on an individual peak value to open the History page in a separate browser window or tab, scrolled to the sample holding that peak value.

If a peak isn't shown as a hyperlink, the corresponding sample data may have been deleted by the background purge process. See the Foxhound Options page for more information on purging sample data.

Note: The Peaks section will disappear for a short time when you press the button. The recording of peak values will automatically restart with the next successful sample and the Peaks section will reappear.

Some peak values are displayed as rates (e.g., bytes per second nn/s) rather than counts or amounts like nnk.

The reason for this is that the interval between samples can vary, and a true comparison of "larger versus smaller" should take that into account. For example, a server that sent Bytes Out of 5M in an 8 second interval was actually busier than one that sent 6M in a 12 second interval (as far as Bytes Out was concerned).

Peak values are used to determine almost all of the color highlighting in the other sections (Most Recent Sample and Recent Samples) above and below the Peaks section, as follows:

The Peaks since link identifies the earliest sample that was used to compute peak values.

This will be the first sample ever recorded for this database, or the first sample recorded after the most recent pressing of the button.

You can click on this link to open the History page in a separate browser window or tab, scrolled to this sample.

If the Peaks since timestamp isn't shown as a hyperlink, the corresponding sample data may have been deleted by the background purge process. See the Foxhound Options page for more information on purging sample data.

The Heartbeat, Sample Times peaks

The Heartbeat and Sample time numbers are calculated by Foxhound; they are not based on any builtin SQL Anywhere properties.

The Conns peak shows the largest number of connections that existed.

This number is based on the ConnCount property.

The Executing, Idle, Waiting Conns peaks show the largest numbers of connections that were executing, idle or waiting.

These numbers are based on the ReqStatus and RequestTiming properties, and they will be empty if connection details are not being recorded; see Foxhound Options - Connection sampling threshold.

The Req peak shows highest rate at which the server started processing a new request or resumed processing an existing request.

A request is an atomic unit of work performed for a connection.

This number based on the Req property.

Active Req, Max Req, Waiting Req peaks:

A request is an atomic unit of work performed for a connection.

These numbers are based on the ActiveReq, MultiProgrammingLevel, Threads and UnschReq properties.

Locks Held, Conns Blocked peaks:

These numbers are based on the LockCount and BlockedOn properties.

The Conns Blocked column will be empty if connection details are not being recorded; see Foxhound Options - Connection sampling threshold.

The CPU Time peak shows the largest percentage of CPU time used during a single interval.

This number is based on the following properties: NumLogicalProcessorsUsed, NumProcessorsAvail, NumProcessorsMax and ProcessCPU.

The Temp Space peak shows the largest amount of temporary space used by all the connections.

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.

This column is based on the PageSize and TempFilePages properties, and it will be empty if connection details are not being recorded; see Foxhound Options - Connection sampling threshold.

Cache Panics, Low Memory, Satisfaction peaks:

These numbers are based on the CacheHits, CachePanics, CacheRead and QueryLowMemoryStrategy properties.

The Active I/Os peak shows the highest number of file I/O requests that had not yet been completed.

This column is based on the CurrIO property.

Checkpoint, Recovery Urgency peaks:

These numbers are based on the CheckpointUrgency and RecoveryUrgency properties, and they are used by the target server to help decide when to take a checkpoint. They both increase monotonically until a checkpoint is taken, then drop to zero.

Checkpoints, Commits, Rollbacks peaks:

These numbers are based on the Chkpt, Commit and Rlbk properties.

The Commits and Rollbacks columns will be empty if connection details are not being recorded; see Foxhound Options - Connection sampling threshold.

The DB File Frags peak is the largest number of file fragments in the SYSTEM dbspace file.

This column is based on the DBFileFragments property.

Disk Reads, Writes peaks:

These numbers are based on the DiskRead and DiskWrite properties.

The Log Writes peak shows the highest rate at which pages that have been written to the transaction log.

This column is based on the LogWrite property.

Index Adds, Lookups, Satisfaction peaks:

These numbers are based on the IndAdd, IndLookup and FullCompare properties.

Full Index Comps shows the highest rate at which additional information had to be obtained from the table data in order to satisfy an index lookup.

This number is based on the FullCompare property.

Bytes In / Out peaks:

These numbers are based on the BytesReceived and BytesSent properties.


3.6 Recent Samples    [Top]

The Recent Samples section shows the most recent 10 samples, with many of the data values shown as rates instead of counts.

Alert and All Clear messages also appear in this section, as well as messages that tell you when sampling was not successful; e.g., "Database server not found" and "Foxhound stopped".

The color highlighting in this section is controlled by values in the Peaks section above it, as follows:

The Recent Samples link shows the date/time that Foxhound recorded this sample.

You can click on this link to open the History page in a separate browser window or tab, scrolled to this sample.

The Interval column shows the actual time interval between the previous sample and this one.

Foxhound tries to record a new sample every 10 seconds but the actual interval can vary. A very long interval like 1h 19m 48s may indicate the computer was in standby mode.

Heartbeat, Sample Times:

The Heartbeat and Sample time numbers are calculated by Foxhound; they are not based on any builtin SQL Anywhere properties.

The Conns column shows how many connections existed, with Foxhound itself counting as 1.

This number is based on the ConnCount property, and it may differ slightly from the number of connections shown in the connections detail section at the bottom of the page, because the ConnCount property and connection details are recorded at slightly different points in time.

The Executing, Idle, Waiting Conns columns show how many connections were executing, idle or waiting.

These numbers are based on the ReqStatus and RequestTiming properties, and they will be empty if connection details are not being recorded; see Foxhound Options - Connection sampling threshold.

The Req column shows the rate at which the server started processing a new request or resumed processing an existing request during the preceding interval.

A request is an atomic unit of work performed for a connection.

This number is based on the Req property.

Active Req, Max Req, Waiting Req:

A request is an atomic unit of work performed for a connection.

These numbers are based on the ActiveReq, MultiProgrammingLevel, Threads and UnschReq properties.

Locks Held, Conns Blocked:

These numbers are based on the LockCount and BlockedOn properties.

The Conns Blocked column will be empty if connection details are not being recorded; see Foxhound Options - Connection sampling threshold.

The CPU Time column shows the percentage of CPU time used during the preceding interval.

This number is based on the following properties: NumLogicalProcessorsUsed, NumProcessorsAvail, NumProcessorsMax and ProcessCPU.

The Temp Space column shows the total amount of temporary file space used by all the connections.

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.

This column is based on the PageSize and TempFilePages properties, and it will be empty if connection details are not being recorded; see Foxhound Options - Connection sampling threshold.

Cache Panics, Low Memory, Satisfaction:

These numbers are based on the CacheHits, CachePanics, CacheRead and QueryLowMemoryStrategy properties.

The Active I/Os column shows the number of file I/O requests that had not yet been completed.

This column is based on the CurrIO property.

Checkpoint, Recovery Urgency:

These numbers are based on the CheckpointUrgency and RecoveryUrgency properties, and they are used by the target server to help decide when to take a checkpoint. They both increase monotonically until a checkpoint is taken, then drop to zero.

Checkpoints, Commits, Rollbacks:

These numbers are based on the Chkpt, Commit and Rlbk properties.

The Commits and Rollbacks columns will be empty if connection details are not being recorded; see Foxhound Options - Connection sampling threshold.

The DB File Frags column is the number of file fragments in the SYSTEM dbspace file.

This column is based on the DBFileFragments property.

Free Disk Space - Sys, Temp, Log, Other:

These numbers are based on the properties returned by the sa_disk_free_space procedure.

The Log column will be empty for an in-memory database, and the Other column will be empty for any database that doesn't have any secondary database files.

Disk Reads, Writes:

These numbers are based on the DiskRead and DiskWrite properties.

The Log Writes column shows the rate at which pages were written to the transaction log in the previous interval.

This column is based on the LogWrite property.

Index Adds, Lookups, Satisfaction:

These numbers are based on the IndAdd, IndLookup and FullCompare properties.

Full Index Comps shows the rate at which additional information had to be obtained from the table data in order to satisfy an index lookup, in the previous interval.

This number is based on the FullCompare property.

Bytes In / Out:

These numbers are based on the BytesReceived and BytesSent properties.


3.7 Blocked Connections    [Top]

The Blocked Connection section displays up to 10 blocked connections as they existed when the Most Recent Sample was recorded.

To see more blocked connections, or to see blocked connections as they existed for earlier samples, switch to the History page.

This section will be empty if no blocked connections existed when the Most Recent Sample was recorded, or if connection details are not being recorded; see Foxhound Options - Connection sampling threshold.

The greyed-out arrow to the left of the Waiting Time column title indicates that entries in this section are sorted in decreasing order by the Waiting Time column, and that this choice of sort order is fixed.

The Blocked Statement column contains the SQL statement the blocked connection was trying to execute.

This column is based on the LastStatement property.

The Waiting Time is the length of time the blocked connection has been waiting for the blocked statement to execute.

This number is based on the LastReqTime property.

The Reason... column describes what kinds of locks are causing the block.

This value is based on columns returned by sa_locks.

The Locked Row Query... is a SELECT statement you can copy and paste into dbisql to find the row in the target database that is locked.

This column is based on the LockName property and the sa_locks.row_identifier column.

The Blocked Connection... columns identify the connection that is blocked by a lock:

These columns are based on the Userid, Number, NodeAddress and Name properties.

The Blocked by... columns identify the connection that is holding the lock causing the block:

These columns are based on the Userid, Number, NodeAddress and Name properties.

The Blocked by Transaction Running Time is the length of time a transaction has been running on the blocking connection.

This number is based on the TransactionStartTime property.


3.8 Connections    [Top]

The Connections section shows up to 100 connections as they existed when the Most Recent Sample was recorded.

To see more connections, or to see connections as they existed for earlier samples, switch to the History page.

This section will be empty if connection details are not being recorded; see Foxhound Options - Connection sampling threshold.

The up or down arrow to the left of a single column title indicates that entries in this section are sorted in ascending or decreasing order by that column. Click on that column title to change the direction of that sort (ascending to or from descending), or click on a different column title to sort the entries by that column.

The tie-breaker sort column is Conn #; if multiple entries in this section have the same value in the selected sort column, those entries are sorted in ascending order by Connection Number.

Note: If you add up the connection-level figures like "Req" you might not get the same number as shown in the server-level "Req" column.

That's because the connection-level and server-level statistics are recorded at slightly different times, and one value might lag behind the other.

The User Id / Conn # / IP Addr / Conn Name columns identify each connection:

These columns are based on the Userid, Number, NodeAddress and Name properties.

The Req column shows how many times the server has started processing a new request or resumed processing an existing request for this connection since it started.

A request is an atomic unit of work performed for a connection.

This number is based on the ReqCountActive property.

The Current Req Status shows whether this connection was Idle, Waiting for thread, Waiting for I/O, Waiting for shared resource, Blocked by lock or Executing.

This column is based on the ReqStatus property.

The Blocked by Conn # column shows the connection number of the connection that is blocking this one.

This column is based on the BlockedOn property.

The Locks Held, Conns Blocked columns show how many locks are held and how many other connections are blocked by this connection.

These columns are based on the LockCount and BlockedOn properties.

The CPU Time column shows how much CPU time has been used by this connection since it started.

This number is based on the ApproximateCPUTime property.

Temp Space, Rollback Log, Uncommitted:

These numbers are based on the PageSize, TempFilePages, RollbackLogPages and UncommitOp properties.

Low Memory, Cache Satisfaction:

These numbers are based on the QueryLowMemoryStrategy, CacheHits and CacheRead properties.

Time Connected is the elapsed time since this connection was established.

This number is based on the LoginTime property.

The Total Waits, Waiting Time columns show how many times and for how long this connection has been blocked or forced to wait.

These numbers are based on the following properties: ReqCountBlockContention, ReqCountBlockIO, ReqCountBlockLock, ReqCountUnscheduled, ReqTimeBlockContention, ReqTimeBlockIO, ReqTimeBlockLock and ReqTimeUnscheduled.

Transaction Running Time is the length of time a transaction has been running on this connection.

This number is based on the TransactionStartTime property.

Time Since Last Request is the elapsed time since the last time a request was started for this connection.

This number is based on the LastReqTime property.

The Last Statement... column contains last SQL statement this connection was executing.

This column is based on the LastStatement property.

Isolation Level shows the current isolation level for this connection. Note that a connection can change the isolation level dynamically, for any particular query and even for part of a query.

This column is based on the IsolationLevel property.

Client Requests, Time:

These numbers are based on the RequestsReceived and ReqTimeActive properties.

Total, Current Prepares:

These numbers are based on the Prepares and PrepStmt properties.

Commits, Rollbacks are the total numbers of commit and rollback requests that have been handled by the server for this connection since it started.

These numbers are based on the Commit and Rlbk properties.

Disk Reads, Writes

These numbers are based on the DiskRead and DiskWrite properties.

Log Writes is the total number of pages that have been written to the transaction log for this connection since it started.

This number is based on the LogWrite property.

Index Adds, Lookups, Satisfaction:

These numbers are based on the IndAdd, IndLookup and FullCompare properties.

Full Index Comps shows how many times additional information had to be obtained from the table data in order to satisfy an index lookup, for this connection since it started.

This number is based on the FullCompare property.

Bytes In / Out:

These numbers are based on the BytesReceived and BytesSent properties.

[Top]



























































[Top]