Reporters

Graphite

class metrology.reporter.graphite.GraphiteReporter(host, port, **options)

A graphite reporter that send metrics to graphite

reporter = GraphiteReporter('graphite.local', 2003)
reporter.start()
Parameters:
  • host – hostname of graphite
  • port – port of graphite
  • interval – time between each reporting
  • prefix – metrics name prefix

Logging

class metrology.reporter.logger.LoggerReporter(logger=<module 'logging' from '/usr/lib/python2.7/logging/__init__.pyc'>, level=20, **options)

A logging reporter that write metrics to a logger

reporter = LoggerReporter(level=logging.DEBUG, interval=10)
reporter.start()
Parameters:
  • logger – logger to use
  • level – logger level
  • interval – time between each reporting
  • prefix – metrics name prefix

Librato

class metrology.reporter.librato.LibratoReporter(email, token, **options)

A librato metrics reporter that send metrics to librato

reporter = LibratoReporter("<email>", "<token>", source="front.local")
reporter.start()
Parameters:
  • email – your librato email
  • token – your librato api token
  • source – source of the metric
  • interval – time between each reporting
  • prefix – metrics name prefix
  • filters – allow given keys to be send
  • excludes – exclude given keys to be send

Ganglia

class metrology.reporter.ganglia.GangliaReporter(default_group_name, host, port, protocol='udp', *args, **kwargs)

A ganglia reporter that send metrics to ganglia

reporter = GangliaReporter('Report Group Name', 'localhost', 8649, 'udp', interval=60)
reporter.start()
Parameters:
  • default_group_name – default group name for ganglia
  • host – hostname of gmond
  • port – port of gmond
  • protocol – protocol for gmond sockets
  • interval – time between each reporting
set_group(metric_name, group_name)

Override the group name for certain metrics.