1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
""" Get performance data from server """
import sys
import Bcfg2.Options
import Bcfg2.Proxy
import Bcfg2.Server.Admin
class Perf(Bcfg2.Server.Admin.Mode):
""" Get performance data from server """
def __call__(self, args):
output = [('Name', 'Min', 'Max', 'Mean', 'Count')]
optinfo = {
'ca': Bcfg2.Options.CLIENT_CA,
'certificate': Bcfg2.Options.CLIENT_CERT,
'key': Bcfg2.Options.SERVER_KEY,
'password': Bcfg2.Options.SERVER_PASSWORD,
'server': Bcfg2.Options.SERVER_LOCATION,
'user': Bcfg2.Options.CLIENT_USER,
'timeout': Bcfg2.Options.CLIENT_TIMEOUT,
}
setup = Bcfg2.Options.OptionParser(optinfo)
setup.parse(sys.argv[1:])
proxy = Bcfg2.Proxy.ComponentProxy(setup['server'],
setup['user'],
setup['password'],
key=setup['key'],
cert=setup['certificate'],
ca=setup['ca'],
timeout=setup['timeout'])
data = proxy.get_statistics()
for key in sorted(data.keys()):
output.append((key, ) +
tuple(["%.06f" % item
for item in data[key][:-1]] + \
[data[key][-1]]))
self.print_table(output)
|