Thread performance monitoring

The instance tracks the performance of individual threads, which administrators can view in the transaction log or System Overview graph in the Performance homepage.

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.
  • CPU: The thread is active, but is not executing any of the steps. This condition typically means non-business rule compute time, although in this case a few other internal wait states are categorized as CPU. Therefore a 1:1 correlation between threads in a CPU count and hardware CPU utilization is not expected.
  • Database: Waiting for information from the database.
  • Business Rule: The system is running a business rule (synchronous or asynchronous) and is not currently executing a query (which would be database).
  • Network: Writing data out to the network or waiting for an outbound network buffer to flush.
  • Concurrency: Cannot run because they are waiting on a semaphore or session synchronization.

Every minute, the system averages these transactions and records them in the database. These averages are displayed in the System Overview graph available in the ServiceNow Servlet metrics. For details, see ServiceNow servlet performance metrics.

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