Commit c90bae3d by Bach Dániel

fix flake8 errors

parent dd5f6fc0
...@@ -3,18 +3,18 @@ from src import cnfparse, client, collectables ...@@ -3,18 +3,18 @@ from src import cnfparse, client, collectables
def main(): def main():
if len(sys.argv) < 2: if len(sys.argv) < 2:
print("usage: manage.py run [options]") print("usage: manage.py run [options]")
if len(sys.argv) is not 2 and sys.argv[1] is not "run": if len(sys.argv) is not 2 and sys.argv[1] is not "run":
print("[ERROR] Command cannot be parsed. Exiting...") print("[ERROR] Command cannot be parsed. Exiting...")
return return
configuration, metrics = cnfparse.importConf("config/client.conf") configuration, metrics = cnfparse.importConf("config/client.conf")
cli = client.Client(configuration) cli = client.Client(configuration)
cli.startReporting(metricCollectors= cli.startReporting(
collectables.collectables.provide(metrics)) metricCollectors=collectables.collectables.provide(metrics))
if __name__ == "__main__": if __name__ == "__main__":
main() main()
from metrics import * from metrics import std
class collectables: class collectables:
......
...@@ -10,85 +10,81 @@ Metrics = collections.namedtuple("Metrics", ["name", "value"]) ...@@ -10,85 +10,81 @@ Metrics = collections.namedtuple("Metrics", ["name", "value"])
class Collection(object): class Collection(object):
class Group(object): class Group(object):
class Metric(object): class Metric(object):
name = "unknown" name = "unknown"
collector_function = 0 collector_function = 0
collector_function_arguments = {} collector_function_arguments = {}
collector_function_result_attr = "" collector_function_result_attr = ""
@classmethod @classmethod
def harvest(cls): def harvest(cls):
query = cls.collector_function.im_func( query = cls.collector_function.im_func(
**cls.collector_function_arguments) **cls.collector_function_arguments)
if ((isinstance(query, list)) or (isinstance(query, dict))): if ((isinstance(query, list)) or (isinstance(query, dict))):
return Metrics(cls.name, return Metrics(cls.name,
query[cls.collector_function_result_attr]) query[cls.collector_function_result_attr])
elif (isinstance(query, tuple)): elif (isinstance(query, tuple)):
return Metrics(cls.name, return Metrics(cls.name, query.__getattribute__(
query.__getattribute__( cls.collector_function_result_attr))
cls.collector_function_result_attr)) else:
else: return Metrics(cls.name, query)
return Metrics(cls.name, query)
############################################################################## ##############################################################################
class std(Collection): class std(Collection):
class cpu(Collection.Group): class cpu(Collection.Group):
class usage(Collection.Group.Metric): class usage(Collection.Group.Metric):
name = "cpu.usage" name = "cpu.usage"
collector_function = ps.cpu_percent collector_function = ps.cpu_percent
collector_function_arguments = { collector_function_arguments = {'interval': 0.0}
'interval': 0.0,
}
class memory(Collection.Group): class memory(Collection.Group):
class usage(Collection.Group.Metric):
class usage(Collection.Group.Metric): name = "memory.usage"
name = "memory.usage"
collector_function = ps.virtual_memory collector_function = ps.virtual_memory
collector_function_result_attr = "percent" collector_function_result_attr = "percent"
class swap(Collection.Group): class swap(Collection.Group):
class usage(Collection.Group.Metric): class usage(Collection.Group.Metric):
name = "swap.usage" name = "swap.usage"
collector_function = ps.swap_memory collector_function = ps.swap_memory
collector_function_result_attr = "percent" collector_function_result_attr = "percent"
class user(Collection.Group): class user(Collection.Group):
class count(Collection.Group.Metric): class count(Collection.Group.Metric):
name = "user.count" name = "user.count"
@classmethod @classmethod
def harvest(cls): def harvest(cls):
return Metrics(cls.name, len(ps.get_users())) return Metrics(cls.name, len(ps.get_users()))
class network(Collection.Group): class network(Collection.Group):
class packages_sent(Collection.Group.Metric): class packages_sent(Collection.Group.Metric):
name = "network.packages_sent" name = "network.packages_sent"
collector_function = ps.network_io_counters collector_function = ps.network_io_counters
collector_function_result_attr = "packets_sent" collector_function_result_attr = "packets_sent"
class packages_received(Collection.Group.Metric): class packages_received(Collection.Group.Metric):
name = "network.packages_received" name = "network.packages_received"
collector_function = ps.network_io_counters collector_function = ps.network_io_counters
collector_function_result_attr = "packets_recv" collector_function_result_attr = "packets_recv"
class bytes_sent(Collection.Group.Metric): class bytes_sent(Collection.Group.Metric):
name = "network.bytes_sent" name = "network.bytes_sent"
collector_function = ps.network_io_counters collector_function = ps.network_io_counters
collector_function_result_attr = "bytes_sent" collector_function_result_attr = "bytes_sent"
class bytes_received(Collection.Group.Metric): class bytes_received(Collection.Group.Metric):
name = "network.bytes_received" name = "network.bytes_received"
collector_function = ps.network_io_counters collector_function = ps.network_io_counters
collector_function_result_attr = "bytes_recv" collector_function_result_attr = "bytes_recv"
class system(Collection.Group): class system(Collection.Group):
class boot_time(Collection.Group.Metric): class boot_time(Collection.Group.Metric):
name = "system.boot_time" name = "system.boot_time"
collector_function = ps.get_boot_time collector_function = ps.get_boot_time
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment