30#include <unordered_set>
33#include <IceUtil/Time.h>
82 seed ^= hasher(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
109 void addThread(
int processId,
int threadId);
140 void runThreadWatchList();
141 void cpuUsageFromProcFile();
142 void getMemoryUsage();
145 std::string processCpuDataFilename;
149 std::mutex processCpuUsageMutex;
152 std::mutex processMemoryUsageMutex;
155 std::mutex threadWatchListMutex;
156 std::unordered_set<ThreadUsage> threadWatchList;
IceUtil::Handle< PeriodicTask< T > > pointer_type
Shared pointer type for convenience.
ProcessWatcher(Profiler::ProfilerPtr profiler)
void removeThread(int processId, int threadId)
static std::map< int, int > GetThreadListJiffies(int processId, std::vector< int > threadIds)
static int GetThreadJiffies(int processId, int threadId)
armarx::CpuUsage getProcessCpuUsage()
double getThreadLoad(int processId, int threadId)
void addThread(int processId, int threadId)
void addAllChildThreads(int processId, int threadId)
size_t operator()(const armarx::ThreadUsage &t) const
static void hash_combine(std::size_t &seed, const T &v)
std::shared_ptr< Profiler > ProfilerPtr
This file offers overloads of toIce() and fromIce() functions for STL container types.
bool operator==(const ThreadUsage &rhs) const
bool operator<(const ThreadUsage &rhs) const