OpenDDS
Snapshot(2023/04/28-20:55)
|
#include <ThreadStatusManager.h>
Classes | |
struct | Bucket |
Public Types | |
enum | ThreadStatus { ThreadStatus_Active, ThreadStatus_Idle } |
Public Member Functions | |
Thread (const String &bit_key) | |
const String & | bit_key () const |
const SystemTimePoint & | timestamp () const |
const MonotonicTimePoint & | last_update () const |
void | update (const MonotonicTimePoint &m_now, const SystemTimePoint &s_now, ThreadStatus next_status, const TimeDuration &bucket_limit, bool nested) |
double | utilization (const MonotonicTimePoint &now) const |
Static Public Attributes | |
static const size_t | bucket_count = 8 |
Private Attributes | |
const String | bit_key_ |
SystemTimePoint | timestamp_ |
ThreadStatus | status_ |
MonotonicTimePoint | last_update_ |
Bucket | total_ |
Bucket | bucket_ [bucket_count] |
size_t | current_bucket_ |
size_t | nesting_depth_ |
Definition at line 33 of file ThreadStatusManager.h.
Enumerator | |
---|---|
ThreadStatus_Active | |
ThreadStatus_Idle |
Definition at line 35 of file ThreadStatusManager.h.
|
inline |
Definition at line 40 of file ThreadStatusManager.h.
Referenced by OpenDDS::DCPS::ThreadStatusManager::add_thread().
|
inline |
Definition at line 49 of file ThreadStatusManager.h.
Referenced by OpenDDS::DCPS::ThreadStatusManager::add_thread().
|
inline |
Definition at line 51 of file ThreadStatusManager.h.
|
inline |
Definition at line 50 of file ThreadStatusManager.h.
void OpenDDS::DCPS::ThreadStatusManager::Thread::update | ( | const MonotonicTimePoint & | m_now, |
const SystemTimePoint & | s_now, | ||
ThreadStatus | next_status, | ||
const TimeDuration & | bucket_limit, | ||
bool | nested | ||
) |
Definition at line 19 of file ThreadStatusManager.cpp.
References OpenDDS::DCPS::ThreadStatusManager::Thread::Bucket::active_time, bucket_, bucket_count, current_bucket_, OpenDDS::DCPS::ThreadStatusManager::Thread::Bucket::idle_time, last_update_, nesting_depth_, status_, ThreadStatus_Active, ThreadStatus_Idle, timestamp_, and total_.
double OpenDDS::DCPS::ThreadStatusManager::Thread::utilization | ( | const MonotonicTimePoint & | now | ) | const |
Definition at line 67 of file ThreadStatusManager.cpp.
References OpenDDS::DCPS::ThreadStatusManager::Thread::Bucket::active_time, OpenDDS::DCPS::ThreadStatusManager::Thread::Bucket::idle_time, OpenDDS::DCPS::TimeDuration::is_zero(), last_update_, status_, ThreadStatus_Active, ThreadStatus_Idle, total_, and OpenDDS::DCPS::TimeDuration::zero_value.
|
private |
Definition at line 63 of file ThreadStatusManager.h.
|
private |
Definition at line 73 of file ThreadStatusManager.h.
Referenced by update().
|
static |
Definition at line 60 of file ThreadStatusManager.h.
Referenced by update().
|
private |
Definition at line 74 of file ThreadStatusManager.h.
Referenced by update().
|
private |
Definition at line 71 of file ThreadStatusManager.h.
Referenced by update(), and utilization().
|
private |
Definition at line 75 of file ThreadStatusManager.h.
Referenced by update().
|
private |
Definition at line 65 of file ThreadStatusManager.h.
Referenced by update(), and utilization().
|
private |
Definition at line 64 of file ThreadStatusManager.h.
Referenced by update().
|
private |
Definition at line 72 of file ThreadStatusManager.h.
Referenced by update(), and utilization().