Subscription Performance
The following tools are provided by ThingWorx for monitoring subscription execution and state memory consumption:
EventProcessingSubsystem performance metrics:
completedTaskCount — Total number of completed unordered subscription executions.
completedOrderedSubscriptionsCount — Total number of completed ordered subscription executions.
queueSize — Total number of unordered subscriptions awaiting execution.
queuedOrderedSubscriptionsCount — Total number of ordered subscriptions awaiting execution
safeMemorySizeLimitForSubscriptionStatesBytes — Once allocated memory size (bytes) gets above this limit, subscription states will be removed from memory.
allocatedSubscriptionsStatesMemorySizeBytes — Total memory space allocated for subscription states (bytes).
Utilization Subsystem allows the collection of detailed metrics about subscription execution time.
The subscription state memory size metrics were added to the Utilization Subsystem, allowing you to monitor individual subscription state memory usage. To determine the most memory-intensive subscription, perform the following steps:
1. Select the following checkboxes in the Utilization Subsystem configuration: Enable Memory Size Statistics and Show Memory Size Statistics.
2. Select the Enable Entity Name Aggregation checkbox in the initial investigation stage to reduce the system overhead.
3. When the subscriptions have been executed, run the GetEntitySubscriptionStatistics services with maxStateSize as the sort column name. The subscriptions at the top of the list have used the most memory for the states.
If the results are not detailed enough, perform the following steps:
1. Select the Enable Entity Name Aggregation checkbox Utilization Subsystem configuration.
2. Execute the subscriptions again.
3. Run the GetEntitySubscriptionStatistics services with lastStateSize as the sort column name.
4. The subscriptions at the top of the list are currently using the most memory for the states.
Was this helpful?