Help for Foxhound Beta 1.08.3243a
Table of Contents [RisingRoad]
The Monitor Database page shows current server and database-level performance statistics for the target database, as well as information about current connections.
The « Back to Menu link displays the main "Foxhound for SQL Anywhere" 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.
The History link opens the History page in a new browser window or tab.
The Schema link opens the Display Schema page in a new browser window or tab.
The New Menu link opens the main "Foxhound for SQL Anywhere" 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
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.
The Display: status shows whether or not this page is being refreshed every 10 seconds.
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 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 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 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 since 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 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.
Server version: tells you what version of SQL Anywhere software is being used to run the target database.
Database file version: tells you what version of SQL Anywhere software was used to create the target database.
Using n CPUs / Was using n CPUs tells you how many CPUs are being used to run the target database.
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".
The Started at date/time tells you when the target server was started.
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.
The Database file: field is the full file specification for the target database.
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 Age: line appears if Foxhound hasn't been able to gather a newer sample for 15 seconds or more. It is highlighted with this color once the delay reaches one minute or longer.
The next line shows most of the sample data.
The Totals: line shows more information for some columns.
The rest of the color highlighting in this section is controlled by values in the Peaks section below it, as follows:
this color is used for sample values that are 50% as large as the corresponding peak value or larger, but haven't reached 80%.
For Cache Satisfaction and Index Satisfaction the thresholds are inverted: 20% or smaller and 50% or smaller.
Some small values are not highlighted at all, even if they exceed the 80%/50% thresholds:
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:
Sample time shows how long it took for Foxhound to gather all the performance data for this sample. This number will probably be a bit larger than the heartbeat time, but it should still be very small unless there are a large number of connections to analyze.
The Conns column shows how many connections existed, with Foxhound itself counting as 1. This number is based on the ConnCount property.
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.
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. This number is based on the Req property.
Active Req, Max Req, Waiting Req:
Max Req is the maximum number of requests that could be processed at one time (the -gn option), and
Waiting Req shows the number of requests that were waiting to be processed.
These numbers are based on the ActiveReq, MultiProgrammingLevel, Threads and UnschReq properties.
Locks Held, Conns Blocked:
Conns Blocked is the number of connections that were blocked.
These numbers are based on the LockCount and BlockedOn properties.
The CPU Time column shows three values:
the time used since the server started (nns), and
the percent used since the server started (nn% av).
These numbers are based on the following properties: NumLogicalProcessorsUsed, NumProcessorsAvail, NumProcessorsMax and ProcessCPU.
The Temp File column shows the total amount of temporary file space used by all the connections. It is based on the PageSize and TempFilePages properties.
Cache Panics, Low Memory, Satisfaction:
Low Memory is the number of times the target server had to change a query execution plan because cache memory ran low, in the previous interval (top number +nn) and since the server started (nn), and
Cache Satisfaction is the percentage of times a database page lookup was satisfied by the cache, in the previous interval (top number nn%) and since the server started (nn% av).
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. It is based on the CurrIO property.
Checkpoint, Recovery Urgency:
Recovery Urgency is the estimated time required to recover the the database when restarting after an abnormal stoppage, expressed as a percentage of SET OPTION PUBLIC.recovery_time. The Recovery Urgency may exceed 100% if the database is being heavily modified.
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:
Commits is the approximate total number of COMMIT operations that have been executed by all connections, in the previous interval (top number +nn) and since the server started (nn). These numbers are approximate because a connection may issue a commit and disconnect between two Foxhound samples, and that commit won't be included in this total. The total since the server started is reset to zero and accumulation starts over again when sampling is stopped and restarted. "Commits" is roughly the same as "transaction count" unless client connections issue a lot of redundant commits.
Rollbacks is the approximate total number of ROLLBACK operations that have been executed by all connections, in the previous interval (top number +nn) and since the server started (nn). These numbers are approximate because a connection may issue a rollback and disconnect between two Foxhound samples, and that rollback won't be included in this total. The total since the server started is reset to zero and accumulation starts over again when sampling is stopped and restarted.
These numbers are based on the Chkpt, Commit and Rlbk properties.
The DB File Frags column is the number of file fragments in the SYSTEM dbspace file. It is based on the DBFileFragments property.
Disk Reads, Writes:
Disk Writes is the number of modified pages that have been written to disk, in the previous interval (top number +nn) and since the server started (nn).
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 is based on the LogWrite property.
Index Adds, Lookups, Satisfaction:
Index Lookups is the number of times an entry has been looked up in an index, in the previous interval (top number +nn) and since the server started (nn), and
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, in the previous interval (top number nn%) and since the server started (nn% av). This is also called "Index Selectivity".
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:
Bytes Out is the total amount of data sent by the server to client connections, in the previous interval (top number +nnk) and since the server started (nnk).
These numbers are based on the BytesReceived and BytesSent properties.
The Peaks section consists of a single line of peak values, where "peak" means "largest" for most values, and "smallest" for the Cache Satisfaction and Index Satisfaction percentages.
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 has been deleted by the background purge process. See the Foxhound Options page for more information on purging sample data.
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 control almost all of the color highlighting in the other sections (Most Recent Sample and Recent Samples) above and below the Peaks section, as follows:
this color is used for sample values that are 50% as large as the corresponding peak value or larger, but haven't reached 80%.
For Cache Satisfaction and Index Satisfaction the thresholds are inverted: 20% or smaller and 50% or smaller.
Some small values are not highlighted at all, even if they exceed the 80%/50% thresholds:
The Peaks since timestamp identifies the earliest sample that was used to compute peak values.
The Heartbeat, Sample Times peaks
Sample time shows the longest time it took for Foxhound to gather all the performance data for this sample.
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.
The Req peak shows highest rate at which the server started processing a new request or resumed processing an existing request. This number based on the Req property.
Active Req, Max Req, Waiting Req peaks:
Max Req is the largest maximum number of requests that could be processed at one time (the -gn option), and
Waiting Req shows the largest number of requests that were waiting to be processed.
These numbers are based on the ActiveReq, MultiProgrammingLevel, Threads and UnschReq properties.
Locks Held, Conns Blocked peaks:
Conns Blocked is the largest number of connections that were blocked.
These numbers are based on the LockCount and BlockedOn properties.
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 File peak shows the largest amount of temporary file space used by all the connections. It is based on the PageSize and TempFilePages properties.
Cache Panics, Low Memory, Satisfaction peaks:
Low Memory is the highest rate at which the target server had to change a query execution plan because cache memory ran low, and
Cache Satisfaction is the lowest percentage of times a database page lookup was satisfied by the cache.
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. It is based on the CurrIO property.
Checkpoint, Recovery Urgency peaks:
Recovery Urgency is the highest estimated time required to recover the the database when restarting after an abnormal stoppage, expressed as a percentage of SET OPTION PUBLIC.recovery_time, that was reached in any sample.
These numbers are based on the CheckpointUrgency and RecoveryUrgency properties.
Checkpoints, Commits, Rollbacks peaks:
Commits is the highest rate at which COMMIT operations were executed, and
Rollbacks is the highest rate at which ROLLBACK operations were executed.
These numbers are based on the Chkpt, Commit and Rlbk properties.
The DB File Frags peak is the largest number of file fragments in the SYSTEM dbspace file. It is based on the DBFileFragments property.
Disk Reads, Writes peaks:
Disk Writes is the highest rate at which modified pages were written to disk.
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 is based on the LogWrite property.
Index Adds, Lookups, Satisfaction peaks:
Index Lookups is the highest rate at which entries were looked up in an index, and
Index Satisfaction is the lowest percentage of times that an index lookup was satisfied by the index without having to retrieve more information from the table data.
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:
Bytes Out is the highest rate at which data was sent by the server to client connections.
These numbers are based on the BytesReceived and BytesSent properties.
The Recent Samples section shows the most recent 10 samples, with many of the data values shown as rates instead of counts.
The color highlighting in this section is controlled by values in the Peaks section above it, as follows:
This color is used for sample values that are 50% as large as the corresponding peak value or larger, but haven't reached 80%.
For Cache Satisfaction and Index Satisfaction the thresholds are inverted: 20% or smaller and 50% or smaller.
Some small values are not highlighted at all, even if they exceed the 80%/50% thresholds:
The Recent Samples column shows when the sample was recorded.
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.
Heartbeat, Sample Times:
Sample time shows how long it took for Foxhound to gather all the performance data for this sample. This number will probably be a bit larger than the heartbeat time, but it should still be very small unless there are a large number of connections to analyze.
The Conns column shows how many connections existed, with Foxhound itself counting as 1. This number is based on the ConnCount property.
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.
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. This number is based on the Req property.
Active Req, Max Req, Waiting Req:
Max Req is the maximum number of requests that could be processed at one time (the -gn option), and
Waiting Req shows the number of requests that were waiting to be processed.
These numbers are based on the ActiveReq, MultiProgrammingLevel, Threads and UnschReq properties.
Locks Held, Conns Blocked:
Conns Blocked is the number of connections that were blocked.
These numbers are based on the LockCount and BlockedOn properties.
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 File column shows the total amount of temporary file space used by all the connections. It is based on the PageSize and TempFilePages properties.
Cache Panics, Low Memory, Satisfaction:
Low Memory is the rate at which the target server had to change a query execution plan because cache memory ran low in the previous interval, and
Cache Satisfaction is the percentage of times a database page lookup was satisfied by the cache in the previous interval.
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. It is based on the CurrIO property.
Checkpoint, Recovery Urgency:
Recovery Urgency is the estimated time required to recover the the database when restarting after an abnormal stoppage, expressed as a percentage of SET OPTION PUBLIC.recovery_time. The Recovery Urgency may exceed 100% if the database is being heavily modified.
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:
Commits is the approximate rate at which COMMIT operations were performed in the previous interval, and
Rollbacks is the approximate rate at which ROLLBACK operations were performed in the previous interval.
These numbers are based on the Chkpt, Commit and Rlbk properties.
The DB File Frags column is the number of file fragments in the SYSTEM dbspace file. It is based on the DBFileFragments property.
Disk Reads, Writes:
Disk Writes is the rate at which modified pages were written to disk in the previous interval.
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 is based on the LogWrite property.
Index Adds, Lookups, Satisfaction:
Index Lookups is the rate at which entries were looked up in an indexes in the previous interval, and
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 in the previous interval. This is also called "Index Selectivity".
These numbers are based on the IndAdd, IndLookup and FullCompare properties.
Bytes In / Out:
Bytes Out is the rate data was sent by the server to client connections in the previous interval.
These numbers are based on the BytesReceived and BytesSent properties.
The Monitor page displays up to 10 blocked connections; to see more switch to the History page.
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:
Conn # is the connection number of the blocked connection,
IP Addr is the network IP address of the blocked connection, and
Conn Name is the connection name of the blocked connection.
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:
Conn # is the connection number of the blocking connection,
IP Addr is the network IP address of the blocking connection, and
Conn Name is the connection name of the blocking connection.
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.
The Monitor page displays up to 100 current connections; to see more switch to the History page.
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 is because the connection-level and server-level statistics are captured at slightly different times, and one value might lag behind the other.
The User Id / Conn # / IP Addr / Conn Name columns identify each connection:
Conn # is the connection number of the connection,
IP Addr is the network IP address of the connection, and
Conn Name is the connection name of the 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. This number is based on the Req 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 File, Rollback Log, Uncommitted:
Rollback Log shows how much space in the rollback log is currently used by this connection, and
Uncommitted shows how many operations have been performed by this connection but not yet committed.
These numbers are based on the TempFilePages, RollbackLogPages and UncommitOp properties. properties.
Low Memory, Cache Satisfaction:
Cache Satisfaction is the percentage of times since this connection started that a database page lookup for this connection was satisfied by the cache.
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:
Client Request Time is the total time spent processing those requests.
These numbers are based on the RequestsReceived and ReqTimeActive properties.
Total, Current Prepares:
Current Prepares is the number of prepared statements currenly being maintained by the server for this connection.
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
Disk Writes is the total number of modified pages that have been written to disk for this connection since it started.
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:
Index Lookups is the rate at which entries were looked up in an indexes for this connection since it started, and
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. This is also called "Index Selectivity".
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:
Bytes Out is the total amount of data sent by the server from the client for this connection since it started.
These numbers are based on the BytesReceived and BytesSent properties.
[Top]
[Top]