Performance Counters
Performance counters allow you to observe the activity of the Sentinel system in order to understand how it is performing. A number of Sentinel Engine performance counters are available from the Windows Performance Monitor.
The performance counters are:
Active Monitors | Total number of active monitors configured |
Catching up Monitors | Total number of monitors which are fetching data from the past ("Catching up") |
Events written per second | Number of events which Sentinel has raised per second |
Lagging Monitors | Total number of monitors which have taken longer to run than the scheduled period (e.g. a monitor which is scheduled for once a minute but had taken more than 1 minute to process all tests) |
Server Data Instance Queue Count | Number of data requests which are pending |
Server Instance Queue Count | Number of data dictionary requests which are pending |
Running Monitors | Number of monitors which are currently running |
Scheduler Queue Size | Number of monitors which are scheduled to run |
Total monitor pipeline queue count | Number of monitors which have a thread assigned for processing |
To enable the performance counters, the Debug key in the Engine group of the SentinelConfig.xml file needs to set to True:
Performance Metrics
In v4.17, a TestPerformanceMetrics table was added to the Sentinel database, which captures performance metrics for each monitor/test.
Two new configuration settings have been added to the Sentinel Configuration file:
- MonitorPerformanceMetricsEnabled: This needs to be set to True for the metrics to be collected.
- MonitorPerformanceMetricsPurgeTimeoutHours: Specifies how often to delete all the metrics from the table.
The table contains the following columns, which can be used to analyse performance issues:
Column | Description |
TestId | The unique identifier of the test being analysed. |
TestVersionId | The version of the test. |
MonitorVersionId | The version of the monitor. |
TestRunTime | Time, in milliseconds, taken to run the test. |
DataFetchTime | Time, in milliseconds, taken to fetch the data. |
EventWriteTime | Time, in milliseconds, taken to an event to be written to the database. |
TotalRunTime | Total time, in milliseconds, taken for the monitor to run. |
FetchSourceTime | Time, in milliseconds, for the data source to respond to the fetch request. |
PreConditionRunTime | Time, in milliseconds, taken to for the pre-condition to run. |
EntityCount | The number of entities being processed. |
TriggerTime | The timestamp that the test was triggered. |
ProcessingStartTime | The timestamp that the test started being processed. |
Release History
- Performance Monitoring 4.17 (this release)
- Added TestPerformanceMetrics table to the Sentinel database
- Performance Counters (initial release)