git-svn-id: svn://db.shs.com.ru/pip@819 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2019-06-26 18:52:05 +00:00
parent 52907c85b2
commit 0c432eae34
16 changed files with 301 additions and 142 deletions

View File

@@ -20,13 +20,11 @@
#ifndef PIINTROSPECTION_SERVER_P_H
#define PIINTROSPECTION_SERVER_P_H
#ifdef PIP_INTROSPECTION
#include "piintrospection_containers.h"
#include "piintrospection_containers_p.h"
#include "piintrospection_threads.h"
#include "piintrospection_threads_p.h"
#include "pitime.h"
#include "pisystemmonitor.h"
class PIIntrospection {
@@ -34,9 +32,10 @@ public:
enum InfoTypes {
itInfo = 0x01,
itContainers = 0x02,
itObjects = 0x04,
itThreads = 0x08,
itProcStat = 0x02,
itContainers = 0x04,
itObjects = 0x08,
itThreads = 0x10,
};
struct RequiredInfo {
@@ -54,6 +53,13 @@ public:
PIStringList build_options;
};
struct ProcessStat {
ProcessStat() {}
PISystemMonitor::ProcessStats proc;
PIVector<PISystemMonitor::ThreadStats> threads;
};
struct ObjectInfo {
ObjectInfo();
@@ -71,6 +77,9 @@ public:
static PIByteArray packInfo();
static void unpackInfo(PIByteArray & ba, ProcessInfo & info);
static PIByteArray packProcStat(PISystemMonitor * sm);
static void unpackProcStat(PIByteArray & ba, ProcessStat & info);
static PIByteArray packContainers();
static void unpackContainers(PIByteArray & ba, PIMap<uint, PIIntrospectionContainers::Type> & data, PIMap<uint, PIString> & typenames);
@@ -82,7 +91,7 @@ public:
};
PIByteArray & operator <<(PIByteArray & s, const std::unordered_map<uint, PIIntrospectionContainers::Type> & v);
PIByteArray & operator <<(PIByteArray & s, const std::map<uint, PIIntrospectionContainers::Type> & v);
PIByteArray & operator <<(PIByteArray & b, const PIIntrospection::RequiredInfo & v);
PIByteArray & operator >>(PIByteArray & b, PIIntrospection::RequiredInfo & v);
@@ -93,5 +102,4 @@ PIByteArray & operator >>(PIByteArray & b, PIIntrospection::ProcessInfo & v);
PIByteArray & operator <<(PIByteArray & b, const PIIntrospection::ObjectInfo & v);
PIByteArray & operator >>(PIByteArray & b, PIIntrospection::ObjectInfo & v);
#endif // PIP_INTROSPECTION
#endif // PIINTROSPECTION_SERVER_P_H