Thread performance monitoring

Performance of individual threads is tracked by the instance. Administrators can view thread performance information.

Thread performance can be monitored in two places as described in the following sections.

Transaction log

The amount of time a thread waits for an available semaphore or session synchronization is included in the Response Time field in the transaction log. To view the transaction log, navigate to System Logs > Transactions.

Performance graph

Every second, the system looks at all active threads (both UI and background) and places them into one of the following categories.
  • database: waiting for information from the database.
  • network: writing data out to the network or waiting for an outbound network buffer to flush.
  • business_rule: the system is running a business rule (synchronous or asynchronous) and is not currently executing a query (which would be database).
  • concurrency: cannot run because they are waiting on a semaphore or session synchronization.
  • cpu: the thread is active, but is not executing any of the steps. This condition typically means non-business rule compute time, although a few other internal wait states are categorized as CPU in this case. Therefore a 1:1 correlation between threads in a CPU count and hardware CPU utilization is not expected.
Every minute, the system averages these transactions and records them in the database. These averages are displayed in the System Overview chart.
Figure 1. System Overview chart of active threads
Active performance threads

The System Overview chart can be added to any homepage. For more information, see Add existing gauges to a homepage.