14
ORDER = ['system', 'offsets', 'stratum', 'root', 'frequency', 'residualfreq', 'skew']
15
16
CHARTS = {
17
- # id: {
18
- # 'options': [name, title, units, family, context, charttype],
19
- # 'lines': [
20
- # [unique_dimension_name, name, algorithm, multiplier, divisor]
21
- # ]}
17
'system': {
23
- 'options': [None, "Chrony System Time Deltas", "microseconds", 'system', 'chrony.system', 'area'],
18
+ 'options': [None, 'Chrony System Time Deltas', 'microseconds', 'system', 'chrony.system', 'area'],
19
'lines': [
25
- ['timediff', 'system time', 'absolute', 1, 1000]
26
- ]},
20
+ ['timediff', 'system time', 'absolute', 1, 1000]
21
+ ]
22
+ },
23
'offsets': {
28
- 'options': [None, "Chrony System Time Offsets", "microseconds", 'system', 'chrony.offsets', 'area'],
24
+ 'options': [None, 'Chrony System Time Offsets', 'microseconds', 'system', 'chrony.offsets', 'area'],
25
'lines': [
26
['lastoffset', 'last offset', 'absolute', 1, 1000],
31
- ['rmsoffset', 'RMS offset', 'absolute', 1, 1000]
32
- ]},
27
+ ['rmsoffset', 'RMS offset', 'absolute', 1, 1000]
28
+ ]
29
+ },
30
'stratum': {
34
- 'options': [None, "Chrony Stratum", "stratum", 'root', 'chrony.stratum', 'line'],
31
+ 'options': [None, 'Chrony Stratum', 'stratum', 'root', 'chrony.stratum', 'line'],
32
'lines': [
33
['stratum', None, 'absolute', 1, 1]
37
- ]},
34
+ ]
35
+ },
36
'root': {
39
- 'options': [None, "Chrony Root Delays", "milliseconds", 'root', 'chrony.root', 'line'],
37
+ 'options': [None, 'Chrony Root Delays', 'milliseconds', 'root', 'chrony.root', 'line'],
38
'lines': [
41
- ['rootdelay', 'delay', 'absolute', 1, 1000000],
39
+ ['rootdelay', 'delay', 'absolute', 1, 1000000],
40
['rootdispersion', 'dispersion', 'absolute', 1, 1000000]
43
- ]},
41
+ ]
42
+ },
43
'frequency': {
45
- 'options': [None, "Chrony Frequency", "ppm", 'frequencies', 'chrony.frequency', 'area'],
44
+ 'options': [None, 'Chrony Frequency', 'ppm', 'frequencies', 'chrony.frequency', 'area'],
45
'lines': [
46
['frequency', None, 'absolute', 1, 1000]
48
- ]},
47
+ ]
48
+ },
49
'residualfreq': {
50
- 'options': [None, "Chrony Residual frequency", "ppm", 'frequencies', 'chrony.residualfreq', 'area'],
50
+ 'options': [None, 'Chrony Residual frequency', 'ppm', 'frequencies', 'chrony.residualfreq', 'area'],
51
'lines': [
52
['residualfreq', 'residual frequency', 'absolute', 1, 1000]
53
- ]},
53
+ ]
54
+ },
55
'skew': {
55
- 'options': [None, "Chrony Skew, error bound on frequency", "ppm", 'frequencies', 'chrony.skew', 'area'],
56
+ 'options': [None, 'Chrony Skew, error bound on frequency', 'ppm', 'frequencies', 'chrony.skew', 'area'],
57
'lines': [
58
['skew', None, 'absolute', 1, 1000]
58
- ]}
59
+ ]
60
+ }
61
}
62
61
-CHRONY = [('Frequency', 'frequency', 1e3),
62
- ('Last offset', 'lastoffset', 1e9),
63
- ('RMS offset', 'rmsoffset', 1e9),
64
- ('Residual freq', 'residualfreq', 1e3),
65
- ('Root delay', 'rootdelay', 1e9),
66
- ('Root dispersion', 'rootdispersion', 1e9),
67
- ('Skew', 'skew', 1e3),
68
- ('Stratum', 'stratum', 1),
69
- ('System time', 'timediff', 1e9)]
63
+CHRONY = [
64
+ ('Frequency', 'frequency', 1e3),
65
+ ('Last offset', 'lastoffset', 1e9),
66
+ ('RMS offset', 'rmsoffset', 1e9),
67
+ ('Residual freq', 'residualfreq', 1e3),
68
+ ('Root delay', 'rootdelay', 1e9),
69
+ ('Root dispersion', 'rootdispersion', 1e9),
70
+ ('Skew', 'skew', 1e3),
71
+ ('Stratum', 'stratum', 1),
72
+ ('System time', 'timediff', 1e9)
73
+]
74
75
76
class Service(ExecutableService):
77
def __init__(self, configuration=None, name=None):
78
ExecutableService.__init__(
79
self, configuration=configuration, name=name)
76
- self.command = "chronyc -n tracking"
80
+ self.command = 'chronyc -n tracking'
81
self.order = ORDER
82
self.definitions = CHARTS
83