Help for Foxhound 2.0.4215a
Table of Contents [RisingRoad]
The Monitor Database page shows current server and database-level performance statistics for a target database, as well as information about current connections. This information is collectively referred to as a "sampling session" because it is gathered (sampled) at regular intervals rather than recorded on a continuous basis.
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.
Multiple Monitor pages that display the same DSN or Connection String show the same data; they do not represent separate sampling sessions.
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 New Menu link opens the main Foxhound menu page 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 History link opens the History page for this sampling session in a new browser window or tab
The Foxhound Options link opens the Foxhound Options page in a new browser window or tab.
The Monitor Options link opens the Monitor Criteria page in a new browser window or tab. That page lets you enable and disable different alerts, change the conditions under which alerts are issued and manage multiple Monitor sessions using a tab-delimited file of connection strings.
The 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.
Tip: To hide the Help for every new page, see the Show Help section on the Foxhound Options page.
The About link opens the About Foxhound page in a new browser window or tab.
The Monitor Control Panel lets you view and control the Foxhound Monitor sampling and display processes. These processes are completely separate:
The display process is very visible, and it runs in response to HTTP web service requests sent from the browser to the Foxhound database every ten seconds.
These two ten-second cycles are never completely "in sync"... the sampling process is often ahead of the display process by a few seconds; in other words, a new sample is often waiting to be displayed.
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 "...Sample Schedule in effect" link may appear instead of the Stop Sampling and Start Sampling buttons. If sampling is under the control of a Sample Schedule, you can't stop and start sampling manually, you have to adjust (or turn off) the schedule on the Monitor Options page.
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 in 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 Disable Refresh and later press Enable Refresh, 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 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.
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 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 are OK: / SPs were 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 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.
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 Database file: field is the full file specification for the target database.
This field is based on the File property.
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 sample for 15 seconds or more.
The Age: line changes to 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.
If the Age: interval grows very long without a new sample being displayed, and you are running an application that is sending a heavy workload to a target server on the network, and both Foxhound and the application are running on the same workstation, try running Foxhound and the test application on different workstations. In this scenario, Foxhound's connection to the target server may not be able to gather connection-level information on a timely basis. In some cases, it may not display the next sample until after the heavy workload is completely finished, and some of the rate calculations may be incorrect; e.g., commits per second, etc.
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:
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.
Latency...
Latency, also known as response time or access time, is a measure of how long it takes the the database to respond to a single request:
The Heartbeat and Sample Time numbers are calculated by Foxhound; they are not based on any builtin SQL Anywhere properties.Although Heartbeat and Sample times are calculated to the millisecond (0.001 second), Foxhound doesn't show them with any more precision than one decimal place (0.1 second) because the underlying logic is no more precise than that. Sample times are simply rounded to the nearest tenth of a second.
However, Heartbeat times are often very small and would appear as zero if they were rounded to the nearest tenth of a second. Because it may be important to see the difference between zero and non-zero values, Heartbeat times are handled differently: zero values are shown as 0s and non-zero values are adjusted upwards to the nearest tenth of a second; i.e, the smallest non-zero value shown is 0.1s even if the calculated Heartbeat time is as small as 0.001 second.
The formula used is ROUND ( heartbeat_time_in_milliseconds + 49, -2 ).
Throughput...
Throughput, also known as bandwidth, is a measure of how many requests the database can respond to per unit of time:
A request is an atomic unit of work performed for a connection.
This number is 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.
These numbers are based on the Req, Commit, BytesReceived and BytesSent properties. The Commits column will be empty if connection details are not being recorded; see Foxhound Options - Connection Sampling Threshold.
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.
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.
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 CPU Time column shows three values:
the time used since the server started (nns), and
the percent used since the server started (nn% av).
The CPU Time values are for the target SQL Anywhere server as a whole, not an individual target database when the server is running more than one database. Also, the percentages are adjusted for the number CPUs being used by SQL Anywhere; i.e., if SQL Anywhere is using 25% of the processing resources of each and every one of four CPUs, the number will be shown as 25% rather than 100%. The time used is the total across all CPUs; it is not adjusted in the same manner.
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:
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.
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.The Recovery Urgency may exceed 100% because SQL Anywhere enforces a lower boundary on the interval between successive checkpoints. This lower bound is calculated using the checkpoint_time and recovery_time options, and the default is 2 minutes. If Recovery Urgency increases rapidly immediately after one checkpoint is taken, it may continue far beyond 100% before the next checkpoint is allowed.
Checkpoints, Rollbacks:
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).
This number is 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 and Rlbk properties. The Rollbacks column 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:
The Temp column shows the amount of free space in the temporary file.
The Log column shows the amount of free space in the transaction log file.
The Other column shows the smallest amount of free space available in any of the secondary (non-SYSTEM dbspace) database files.
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:
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 column 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.
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:
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 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.Although Heartbeat and Sample times are calculated to the millisecond (0.001 second), Foxhound doesn't show them with any more precision than one decimal place (0.1 second) because the underlying logic is no more precise than that. Sample times are simply rounded to the nearest tenth of a second.
However, Heartbeat times are often very small and would appear as zero if they were rounded to the nearest tenth of a second. Because it may be important to see the difference between zero and non-zero values, Heartbeat times are handled differently: zero values are shown as 0s and non-zero values are adjusted upwards to the nearest tenth of a second; i.e, the smallest non-zero value shown is 0.1s even if the calculated Heartbeat time is as small as 0.001 second.
The formula used is ROUND ( heartbeat_time_in_milliseconds + 49, -2 ).
The Req, Commits, Bytes peaks
A request is an atomic unit of work performed for a connection.
These numbers are based on the Req, Commit BytesReceived and BytesSent 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.
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.
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 CPU Time peak shows the largest percentage of CPU time used during a single interval.
The CPU Time peak is for the target SQL Anywhere server as a whole, not an individual target database when the server is running more than one database. Also, the percentage is adjusted for the number CPUs being used by SQL Anywhere; i.e., if SQL Anywhere is using 25% of the processing resources of each and every one of four CPUs, the number will be shown as 25% rather than 100%.
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:
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.
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 the SET OPTION PUBLIC.recovery_time, that was reached in any sample.
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.The Recovery Urgency may exceed 100% because SQL Anywhere enforces a lower boundary on the interval between successive checkpoints. This lower bound is calculated using the checkpoint_time and recovery_time options, and the default is 2 minutes. If Recovery Urgency increases rapidly immediately after one checkpoint is taken, it may continue far beyond 100% before the next checkpoint is allowed.
Checkpoints, Rollbacks peaks:
Rollbacks is the highest rate at which ROLLBACK operations were executed.
These numbers are based on the Chkpt and Rlbk properties.The Rollbacks column 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:
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 column 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.
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:
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 the date/time that Foxhound recorded each sample.
You can click on these links to open the History page in a separate browser window or tab, scrolled to the associated sample.
The pair of numbers [in square brackets] above the "Recent Samples" column title are the Foxhound database primary key values sampling_id and sample_set_number for the top sample shown on this page; e.g., [4,1796]. These key values are helpful when running adhoc queries on the Foxhound database.
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.
Latency...
Latency, also known as response time or access time, is a measure of how long it takes the the database to respond to a single request:
The Heartbeat and Sample time numbers are calculated by Foxhound; they are not based on any builtin SQL Anywhere properties.Although Heartbeat and Sample times are calculated to the millisecond (0.001 second), Foxhound doesn't show them with any more precision than one decimal place (0.1 second) because the underlying logic is no more precise than that. Sample times are simply rounded to the nearest tenth of a second.
However, Heartbeat times are often very small and would appear as zero if they were rounded to the nearest tenth of a second. Because it may be important to see the difference between zero and non-zero values, Heartbeat times are handled differently: zero values are shown as 0s and non-zero values are adjusted upwards to the nearest tenth of a second; i.e, the smallest non-zero value shown is 0.1s even if the calculated Heartbeat time is as small as 0.001 second.
The formula used is ROUND ( heartbeat_time_in_milliseconds + 49, -2 ).
Throughput...
Throughput, also known as bandwidth, is a measure of how many requests the database can respond to per unit of time:
A request is an atomic unit of work performed for a connection.
This number is approximate because a connection may issue a commit and disconnect between two Foxhound samples, and that commit won't be included in this total.
These numbers are based on the Req, Commit, BytesReceived and BytesSent properties. The Commits column will be empty if connection details are not being recorded; see Foxhound Options - Connection Sampling Threshold.
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.
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.
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 CPU Time column shows the percentage of CPU time used during the preceding interval.
The CPU Time is for the target SQL Anywhere server as a whole, not an individual target database when the server is running more than one database. Also, the percentage is adjusted for the number CPUs being used by SQL Anywhere; i.e., if SQL Anywhere is using 25% of the processing resources of each and every one of four CPUs, the number will be shown as 25% rather than 100%.
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:
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.
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 the SET OPTION PUBLIC.recovery_time, that was reached in any sample.
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.The Recovery Urgency may exceed 100% because SQL Anywhere enforces a lower boundary on the interval between successive checkpoints. This lower bound is calculated using the checkpoint_time and recovery_time options, and the default is 2 minutes. If Recovery Urgency increases rapidly immediately after one checkpoint is taken, it may continue far beyond 100% before the next checkpoint is allowed.
Checkpoints, Rollbacks:
Rollbacks is the approximate rate at which ROLLBACK operations were performed in the previous interval.
This number is approximate because a connection may issue a rollback and disconnect between two Foxhound samples, and that rollback won't be counted in this rate.
These numbers are based on the Chkpt and Rlbk properties.The Rollbacks column 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:
The Temp column shows the amount of free space in the temporary file.
The Log column shows the amount of free space in the transaction log file.
The Other column shows the smallest amount of free space available in any of the secondary (non-SYSTEM dbspace) database files.
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:
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 column 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.
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.
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 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 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 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.
The server assigns a unique connection number to each connection started since the server started. Recent versions of SQL Anywhere assign small numbers (1, 2, 3, ...) to external client connectins, and large numbers to events and web services.
IP Addr is the network IP address of the blocked connection; e.g., 192.168.1.104.
Conn Name is the connection name of the blocked connection.
You can use the CON= connection parameter to assign a name to a client connection. Foxhound's own connections have names like Foxhound_p001, Foxhound_p002, etc. If no connection name is explicitly specified for a client connection, SQL Anywhere will assign a name like SQL_DBC_4c6c25b0. Event connections have the event name assigned as connection name, and web services use the service name.
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.
The server assigns a unique connection number to each connection started since the server started. Recent versions of SQL Anywhere assign small numbers (1, 2, 3, ...) to external client connectins, and large numbers to events and web services.
IP Addr is the network IP address of the blocking connection; e.g., 192.168.1.104.
Conn Name is the connection name of the blocking connection.
You can use the CON= connection parameter to assign a name to a client connection. Foxhound's own connections have names like Foxhound_p001, Foxhound_p002, etc. If no connection name is explicitly specified for a client connection, SQL Anywhere will assign a name like SQL_DBC_c657ef0. Event connections have the event name assigned as connection name, and web services use the service name.
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 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 Conn # / User / IP / Name columns identify each connection:
SQL Anywhere assigns a unique connection number to each connection started since the server started. Recent versions of SQL Anywhere assign small numbers (1, 2, 3, ...) to external client connectins, and large numbers to events, web services and internal ("temporary") connections (1000000065, 1000000066, ...).
Two numbers are shown in the Conn # column for internal or "temporary" connections that have been started by some other "parent" connection. In this case, the first number will be the parent connection number and the second number will be the actual connection number for the internal connection; e.g., 1 1000000065
Conn # / User / IP / Name ... 1 / DBA / - / SQL_DBC_4beb7f00 ... 1 1000000065 / - / - / INT: Exchange ... 1 1000000066 / - / - / INT: Exchange ... 1 1000000067 / - / - / INT: Exchange ... 1 1000000068 / - / - / INT: Exchange ... 1 1000000069 / - / - / INT: Exchange ... 1 1000000070 / - / - / INT: Exchange ... 1 1000000071 / - / - / INT: Exchange ... 1 1000000072 / - / - / INT: Exchange ...
You can use the CON= connection parameter to assign a name to a client connection.
Foxhound's own connections have names like Foxhound_p001, Foxhound_p002, etc.
If no connection name is explicitly specified for a client connection, SQL Anywhere may assign a name like SQL_DBC_c657ef0.
Event connections have the event name assigned as connection name and web services use the service name.
Older versions of SQL Anywhere do not assign connection names to internal or "temporary" connections, while newer versions assign names like "INT: Exchange"
These columns are based on the Number, Userid, 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.
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 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.
Transaction Running Time is the length of time a transaction has been running on this connection.
This number is based on the TransactionStartTime property.
Locks Held, Conns Blocked:
These columns are based on the LockCount and BlockedOn properties.
CPU % / Time:
The percentage is adjusted for the number CPUs being used by SQL Anywhere.
This number is not adjusted for the number CPUs being used by SQL Anywhere.
These numbers are based on the following properties: NumLogicalProcessorsUsed, NumProcessorsAvail, NumProcessorsMax and ApproximateCPUTime.
Temp Space, Rollback Log, Uncommitted:
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.
Rollback Log shows how much space in the rollback log is currently used by this connection.
Uncommitted shows how many operations have been performed by this connection but not yet committed.
These numbers are based on the PageSize, TempFilePages, RollbackLogPages and UncommitOp 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.
For more information see this Q&A entry:How do I get something to show up in the Total Waits, Waiting Time columns?
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 number of entries that were looked up in 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.
The Last Statement: line displays last SQL statement this connection was executing.
This line only appears for connections where the LastStatement property contains a value. For more information see this Q&A entry:How do I get something to show up in the Last Statement column?
[Top]
[Top]