Products | Versions |
---|---|
Spotfire Statistica | 14.0 |
Below is a brief description of how a task is processed through the system that will make understanding some of the counters easier.
When the scheduled time for a Taskset to run occurs, or when a Taskset is manually submitted to MAS for execution, all Tasks in the Taskset are placed in a queue. This queue is where a task awaits the availability of a worker thread in a thread pool. These threads are responsible for acquiring a MAS "COM+" object from the "COM+" pool.
There are a limited number of MAS COM+ objects available, defined in the Pool Size of the Statistica Monitoring And Alerting Server (MAS) COM+ application properties. When all are in use, the threads attempting to create a COM+ object will be blocked awaiting the availability of a COM+ object. The timeout value for how long they will wait is defined in the COM+ App settings, in the properties for the MASRunningObjServer.PooledObj.1 component. This is the Creation Timeout on the Activation tab, and it defaults to 60 seconds.
If the timeout occurs before a COM+ object becomes available, the thread will get an activation timeout error (CO_E_ACTIVATIONFAILED_TIMEOUT error code.) The thread will retry for a total of 3 attempts and then skip the task. Once a COM+ object is available, this thread will spawn another, single-use thread to actually execute the task. The pool thread will then be available to service another queued task. By default, the size of this thread pool is equal to the Pool Size of the COM+ Application.
So the sequence of states is then:
Queued → Acquiring Runner → Running → Done
A Task is considered to be Active if it is Queued, Acquiring a Runner, or Running.
A Taskset is considered to be running for as long as any of its constituent Tasks are running. Once all Tasks are complete, the MASMonitorService will record any alarms to the database, as well as status information, and move out of the running state.
If a Taskset is still running when its next scheduled execution time arrives, that execution will be skipped. This fact is logged in the MAS logfile, as captured in one of these performance counters.
Counters | Description
% Tasks Failed |
The percentage of the total number of tasks that have failed (Tasks Failed / Tasks Executed.) |
Activation Timeouts |
A cumulative total of the number of activation timeouts that have occurred since the MASMonitorService was started. Activation timeouts occur when an attempt to create the MAS COM+ object times out. An individual task will make multiple attempts at this before being skipped, so a single task can get multiple activation timeout errors. |
Activation Timeouts Delta |
The delta in the number of activation timeouts. Can be used to locate when spikes in the number of activation timeouts are occurring. |
Active Tasks/Pool |
The ratio of currently active tasks to the COM+ Pool Size as a percentage. For example, if the COM+ Pool Size is 8 and there are currently 4 active tasks, this would be 50%. With 8 active tasks, it would be 100%. If it exceeds 100%, it indicates that there are more active tasks than there are objects in the pool. Times of day where it exceeds 100% may indicate that MAS is overscheduled at these times. |
Avg Task Active Time (secs) |
The average task active time in seconds. Includes the time spent in the queue, acquiring a COM+ runner object, and running. This type of counter is updated when the task finishes. If multiple tasks finish at roughly the same time, the graph will show the average time for those tasks at that time. There will tend to be gaps in the graph when no tasks are finished. |
Avg Task Run Time (secs) |
The average task run time is in seconds. This does not include time spent in the queue or acquiring a COM+ runner object, just the actual time spent running. This type of counter is updated when the task finishes. If multiple tasks finish at roughly the same time, the graph will show the average time for those tasks at that time. There will tend to be gaps in the graph when no tasks are finished. |
Avg Taskset Run Time (secs) |
Average Taskset run time in seconds. This includes the time to run all tasks and to record and process all alarms and alarm actions. This type of counter is updated when the taskset finishes. If multiple tasksets finish at roughly the same time, the graph will show the average time for those tasks at that time. There will tend to be gaps in the graph when no tasks are finished. |
Tasks Acquiring Runner |
A raw count of the number of tasks currently attempting to create a COM+ runner object. Tasks move from the Queued state to this state when a thread from the pool becomes available. If all available COM+ objects are currently busy running other tasks, a task will remain in this state until a COM+ object becomes available, or the task is skipped if this takes too long. |
Tasks Active |
A raw count of the total number of active tasks. An active task is one that is Queued, Acquiring a Runner, or Running |
Tasks Active Delta |
The delta, or change in, the number of active tasks. Can be used to locate when spikes in the number of active tasks are occurring. |
Tasks Executed |
The cumulative total of the number of tasks that have been executed |
Tasks Failed |
The cumulative total of the number of tasks that have failed. |
Tasks Queued |
A raw count of the number of tasks currently in the queue. Tasks get placed in the queue when their scheduled time occurs, or when manually submitted to MAS for execution. Tasks in the queue are awaiting the availability of a thread from a pool that will acquire a MAS COM+ runner object. |
Tasks Running |
A raw count of the number of tasks currently executing. In general, this will not be larger than the COM+ pool size. |
Tasks Skipped |
The cumulative total of the number of tasks that have been skipped due to COM+ pool unavailability. After 3 attempts to create a COM+ object, the task will be skipped. |
Tasks Skipped Delta |
The delta in the number of skipped tasks |
Tasks Succeeded |
The cumulative total of the number of tasks that have been executed successfully |
Tasksets Running |
Displays the number of tasksets currently running |
Tasksets Skipped |
The cumulative total of the number of Tasksets which have been skipped. A Taskset is skipped if it is still running at the next scheduled time. It will be rescheduled to the next scheduled time if this occurs. |
Tasksets Skipped Delta |
The delta in the number of skipped tasksets. |