Process
(system loading)
Process
(system loading)
Internals
Expected end = Start + Period
Sleep(Period)
Actual end = Current time
Latency* = Actual end - Expected end
Update per-thread statistics
Start = Current time
Loop
TimerThread
MainThread
Display statistics on the fly and/or in files
(min, max, avg, histogram of latency occurrences)
Time
Start
Expected end
Actual end
Period
Latency
(*) The latency includes the time to get the current time for “start” and “actual end” → -R option to check the clock resolution
Process
(system loading)
Systress is a conductor for the running tasks on the system (decides which process/thread run at any moment)