18 #ifndef MSTATISTICSSAMPLE_H
19 #define MSTATISTICSSAMPLE_H
23 #ifdef MCLIENTLIB_EXPORTS
24 #define MCLIENTLIB_API __declspec(dllexport)
26 #define MCLIENTLIB_API __declspec(dllimport)
30 #ifndef MCLIENTLIB_EXPORTS
32 #define MCLIENTLIB_API
34 #define MCLIENTLIB_API
37 #define MCLIENTLIB_API
44 #pragma warning(disable: 4251)
56 typedef unsigned long long int mRamCounterType;
57 typedef __int64 mDiskspaceCounterType;
60 typedef u_int64_t mRamCounterType;
61 typedef u_int64_t mDiskspaceCounterType;
63 typedef size_t mRamCounterType;
64 typedef size_t mDiskspaceCounterType;
86 int connectedManagements;
87 int connectedNotificators;
88 int activeWebSessions;
89 int activeWebConnections;
90 int activeWebSSLConnections;
95 double managementInKbs;
96 double managementOutKbs;
97 double notificatorsInKbs;
98 double notificatorsOutKbs;
104 unsigned long long int managementsInBytes;
105 unsigned long long int managementsOutBytes;
106 unsigned long long int nodesInBytes;
107 unsigned long long int nodesOutBytes;
108 unsigned long long int notificatorsInBytes;
109 unsigned long long int notificatorsOutBytes;
110 unsigned long long int webInBytes;
111 unsigned long long int webOutBytes;
113 double cpuProcessUsage;
114 std::vector<double> cpuUsages;
115 mRamCounterType totalRamAmount;
116 mRamCounterType usedRam;
117 mRamCounterType totalSwapAmount;
118 mRamCounterType swapUsage;
119 double usedRamPercent;
120 double usedSwapPercent;
121 double usedRamByProcessPercent;
123 std::vector<std::string> nicNames;
124 std::vector<std::string> disksNames;
125 std::vector<double> nicBandwidth;
126 std::vector<unsigned long long> nicSentBytes;
127 std::vector<unsigned long long> nicReadBytes;
128 std::vector<double> diskReadUsage;
129 std::vector<double> diskWriteUsage;
131 std::string encodedProcessorsUsage;
132 std::string encodedRamUsage;
133 std::string encodedNicUsage;
134 std::string encodedDisksUsage;
144 long long getSampleTime();
145 int getConnectedNodes();
146 int getConnectedManagements();
147 int getConnectedNotificators();
148 int getActiveWebSessions();
149 int getActiveWebConnections();
150 int getActiveWebSSLConnections();
152 int getPausedNodes();
154 int getUnavailableNodes();
155 double getTotalInKbs();
156 double getTotalOutKbs();
157 double getManagementInKbs();
158 double getManagementOutKbs();
159 double getNotificatorsInKbs();
160 double getNotificatorsOutKbs();
161 double getNodesInKbs();
162 double getNodesOutKbs();
163 double getWebInKbs();
164 double getWebOutKbs();
165 unsigned long long int getManagementsInBytes();
166 unsigned long long int getManagementsOutBytes();
167 unsigned long long int getNodesInBytes();
168 unsigned long long int getNodesOutBytes();
169 unsigned long long int getNotificatorsInBytes();
170 unsigned long long int getNotificatorsOutBytes();
171 unsigned long long int getWebInBytes();
172 unsigned long long int getWebOutBytes();
173 const std::string& getEncodedProcessorsUsage();
174 const std::string& getEncodedRamUsage();
175 const std::string& getEncodedNicUsage();
176 const std::string& getEncodedDisksUsage();
178 const std::vector<double>& getCpuUsages();
179 double getCpuProcessUsage();
180 mRamCounterType getTotalRamAmount();
181 mRamCounterType getUsedRam();
182 mRamCounterType getTotalSwapAmount();
183 mRamCounterType getSwapUsage();
184 double getUsedRamPercent();
185 double getUsedSwapPercent();
186 double getUsedRamByProcessPercent();
187 const std::vector<std::string>& getNicNames();
188 const std::vector<std::string>& getDisksNames();
189 const std::vector<double>& getNicBandwidth();
190 const std::vector<unsigned long long>& getNicSentBytes();
191 const std::vector<unsigned long long>& getNicReadBytes();
192 const std::vector<double>& getDiskReadUsage();
193 const std::vector<double>& getDiskWriteUsage();
195 void setId(
long id );
196 void setSampleTime(
long long time );
197 void setConnectedNodes(
int amount );
198 void setConnectedManagements(
int amount );
199 void setConnectedNotificators(
int amount );
200 void setActiveWebSessions(
int amount );
201 void setActiveWebConnections(
int amount );
202 void setActiveWebSSLConnections(
int amount );
203 void setUsedNodes(
int amount );
204 void setPausedNodes(
int amount );
205 void setIdleNodes(
int amount );
206 void setUnavailableNodes(
int amount );
207 void setManagementInKbs(
double amount );
208 void setManagementOutKbs(
double amount );
209 void setNotificatorsInKbs(
double amount );
210 void setNotificatorsOutKbs(
double amount );
211 void setNodesInKbs(
double amount );
212 void setNodesOutKbs(
double amount );
213 void setWebInKbs(
double amount );
214 void setWebOutKbs(
double amount );
215 void setManagementsInBytes(
unsigned long long int amount );
216 void setManagementsOutBytes(
unsigned long long int amount );
217 void setNodesInBytes(
unsigned long long int amount );
218 void setNodesOutBytes(
unsigned long long int amount );
219 void setNotificatorsInBytes(
unsigned long long int amount );
220 void setNotificatorsOutBytes(
unsigned long long int amount );
221 void setWebInBytes(
unsigned long long int amount );
222 void setWebOutBytes(
unsigned long long int amount );
223 void setEncodedProcessorsUsage(
const std::string& processorsUsage );
224 void setEncodedRamUsage(
const std::string& ramUsage );
225 void setEncodedNicUsage(
const std::string& nicUsage );
226 void setEncodedDisksUsage(
const std::string& disksUsage );
229 virtual bool Unmarshall(
const std::vector<std::string>& items);
230 virtual std::string Marshall();
Class holding a statistics sample.