|
CMSDK 2.0.1
Cross-platform C++ base library and SDK for the Psyclone AIOS platform
|
Bookkeeping record for a single managed thread. More...
#include <ThreadManager.h>
Public Attributes | |
| uint32 | id |
| ThreadManager-assigned slot ID (index into the stats array). | |
| uint64 | created |
| Creation time (microseconds, GetTimeNow()); 0 = slot unused/invalid. | |
| uint32 | status |
| Lifecycle state (THREAD_NONE/INIT/RUNNING/PAUSED/INTERRUPTED/TERMINATED). | |
| uint32 | osID |
| Operating-system thread ID (as reported by the OS, not the slot ID). | |
| ThreadHandle | hThread |
| Native handle (HANDLE on Windows, pthread_t wrapper on POSIX). | |
| THREAD_FUNCTION | func |
| Entry function, retained so InterruptThread() can restart the thread. | |
| void * | args |
Argument passed to func, retained for restart. | |
| uint64 | time [10] |
| Rolling timestamps of the last 10 statistics samples (newest first). | |
| uint64 | currentCPUTicks [10] |
Rolling CPU-tick readings matching time (newest first). | |
Bookkeeping record for a single managed thread.
One ThreadStats lives in the ThreadManager's contiguous storage block per thread slot. The time / currentCPUTicks arrays are rolling windows: index 0 is the most recent sample and each monitoring pass shifts the history down, giving up to 10 samples for CPU-load estimation.
Definition at line 108 of file ThreadManager.h.
| void* cmlabs::ThreadStats::args |
Argument passed to func, retained for restart.
Definition at line 115 of file ThreadManager.h.
Referenced by cmlabs::ThreadManager::addLocalThreadStats(), cmlabs::ThreadManager::createThread(), cmlabs::ThreadManager::interruptThread(), and cmlabs::ThreadManager::threadMonitoring().
| uint64 cmlabs::ThreadStats::created |
Creation time (microseconds, GetTimeNow()); 0 = slot unused/invalid.
Definition at line 110 of file ThreadManager.h.
Referenced by cmlabs::ThreadManager::addLocalThreadStats(), cmlabs::ThreadManager::createThread(), cmlabs::ThreadManager::GetLocalThreadStats(), cmlabs::ThreadManager::GetThreadStats(), cmlabs::ThreadManager::getThreadStats(), cmlabs::ThreadManager::interruptThread(), cmlabs::ThreadManager::terminateThread(), cmlabs::ThreadManager::threadMonitoring(), and cmlabs::ThreadManager::UnitTest().
| uint64 cmlabs::ThreadStats::currentCPUTicks[10] |
Rolling CPU-tick readings matching time (newest first).
Definition at line 117 of file ThreadManager.h.
Referenced by cmlabs::ThreadManager::addLocalThreadStats(), and cmlabs::ThreadManager::threadMonitoring().
| THREAD_FUNCTION cmlabs::ThreadStats::func |
Entry function, retained so InterruptThread() can restart the thread.
Definition at line 114 of file ThreadManager.h.
Referenced by cmlabs::ThreadManager::addLocalThreadStats(), cmlabs::ThreadManager::createThread(), cmlabs::ThreadManager::interruptThread(), cmlabs::ThreadManager::terminateThread(), and cmlabs::ThreadManager::threadMonitoring().
| ThreadHandle cmlabs::ThreadStats::hThread |
Native handle (HANDLE on Windows, pthread_t wrapper on POSIX).
Definition at line 113 of file ThreadManager.h.
Referenced by cmlabs::ThreadManager::addLocalThreadStats(), cmlabs::ThreadManager::continueThread(), cmlabs::ThreadManager::createThread(), cmlabs::ThreadManager::interruptThread(), cmlabs::ThreadManager::isThreadRunning(), cmlabs::ThreadManager::pauseThread(), cmlabs::ThreadManager::shutdown(), cmlabs::ThreadManager::terminateThread(), and cmlabs::ThreadManager::threadMonitoring().
| uint32 cmlabs::ThreadStats::id |
ThreadManager-assigned slot ID (index into the stats array).
Definition at line 109 of file ThreadManager.h.
Referenced by cmlabs::ThreadManager::addLocalThreadStats(), cmlabs::ThreadManager::createThread(), cmlabs::ThreadManager::getLocalThreadID(), cmlabs::ThreadManager::shutdown(), and cmlabs::ThreadManager::threadMonitoring().
| uint32 cmlabs::ThreadStats::osID |
Operating-system thread ID (as reported by the OS, not the slot ID).
Definition at line 112 of file ThreadManager.h.
Referenced by cmlabs::ThreadManager::createThread(), cmlabs::NetworkChannel::endConnection(), cmlabs::ThreadManager::getLocalThreadID(), and cmlabs::ThreadManager::threadMonitoring().
| uint32 cmlabs::ThreadStats::status |
Lifecycle state (THREAD_NONE/INIT/RUNNING/PAUSED/INTERRUPTED/TERMINATED).
Definition at line 111 of file ThreadManager.h.
Referenced by cmlabs::ThreadManager::addLocalThreadStats(), cmlabs::ThreadManager::continueThread(), cmlabs::ThreadManager::createThread(), cmlabs::ThreadManager::getAllThreadStats(), cmlabs::ThreadManager::interruptThread(), cmlabs::ThreadManager::pauseThread(), cmlabs::ThreadManager::shutdown(), cmlabs::ThreadManager::terminateThread(), and cmlabs::ThreadManager::threadMonitoring().
| uint64 cmlabs::ThreadStats::time[10] |
Rolling timestamps of the last 10 statistics samples (newest first).
Definition at line 116 of file ThreadManager.h.
Referenced by cmlabs::ThreadManager::addLocalThreadStats(), and cmlabs::ThreadManager::threadMonitoring().