Threading Summary - Threading Summary - 57368

uProf User Guide

Document_ID
57368
Release_Date
2025-06-09
Revision
5.1 English

Threading Summary provides high level performance snapshot of an application with respect to different timing details.

  • Elapsed Time is wall clock time from application execution start time to end time.
  • Total Time is total time of all the threads created by an application.
  • CPU Time is total active processor time of all threads which includes the time spent in IO operations and spin lock operations. To optimize the code if no of threads are increased, then elapsed time may decrease whereas CPU time might increase.
    • IO Time is total time spent by all the threads in IO system calls except IO sync calls.
    • Spin Time is total time spent by all the threads in spin lock.

    When application calls IO system calls and blocking system calls (except IO sync calls), there is no guarantee that application will be blocked or not. So these times are added to total CPU time.

  • Sleep Time is total time spent by all threads on sleep and waiting for signal delivery system calls.
  • Event Wait Time is total time spent by all threads on IO Multiplexing (poll, select etc.), wait for process / thread to finish (wait, pthread_join etc.).
  • Resource Wait Time is total time spent by all threads on synchronization objects, reader and writer locks, thread barrier etc.
  • IO Sync Time is total time spent by all threads on IO sync APIs (sync, fsync etc.).
  • Pause Time is total time spent by all threads on profile paused state. User can pause the profile collection with profile control APIs and GUI pause after starting the profile collection.

Refer Posix Thread APIs and libc System Call Wrapper APIs to know the APIs traced with threading analysis.

Figure 1. GUI Threading Summary