All Classes Files Functions Variables Enumerations Enumerator Groups Pages
SystemHealth.idl
Go to the documentation of this file.
1 /**
2  * @file SystemHealth.idl
3  * @brief State of the operating system the product is running on.
4  *
5  * @author Martin Kuchar
6  *
7  * @copyright Copyright © 2017 Kerio Technologies s.r.o.
8  */
9 
10 #import <kerio/web/idl/SharedStructures.idl>
11 
12 module kerio {
13 module web {
14 
15 enum HistogramType {
16  HistogramOneDay, ///< Data interval: 5min, Max samples: 288
17  HistogramTwoHours,///< Data interval: 20sec, Max samples: 360
18  HistogramOneWeek, ///< Data interval: 30min, Max samples: 336
19  HistogramOneMonth ///< Data interval: 2h, Max samples: 372
20 };
21 
22 enum HistogramIntervalType {
23  HistogramInterval5m, ///< Data interval: 5min, Max samples: 288, Length 1day
24  HistogramInterval20s, ///< Data interval: 20sec, Max samples: 360, Length 2Hours
25  HistogramInterval30m, ///< Data interval: 30min, Max samples: 336, Length 1Week
26  HistogramInterval2h ///< Data interval: 2h, Max samples: 372, Length 1Month
27 };
28 
29 /** 0-100%, sample count and rate depens on requested type and is the same as in ActiveHost histogram */
30 typedef sequence<double> PercentHistogram;
31 
33  PercentHistogram cpu;
34  PercentHistogram memory;
35  double memoryTotal; ///< memory histogram has to have fixed maximum to this value
36  double diskTotal; ///< total number of bytes on data partition (install dir on windows)
37  double diskFree;
38 };
39 
40 interface SystemHealth {
41  void get(out SystemHealthData data, in HistogramType type);
42  void getInc(out SystemHealthData data, out DateTimeStamp sampleTime, in HistogramIntervalType type, in kerio::web::DateTimeStamp startSampleTime);
43 };
44 
45 }; // module web
46 }; // module kerio