Skip to main content

send timing and exception stats to riemann

Project description

Introductory blog post: http://www.spootnik.org/entries/2013/05/21_using-riemann-to-monitor-python-apps.html

This library is provided to allow timing and exception reporting of python functions using http://riemann.io.

Installing

Pip:

pip install riemann_wrapper

Pypi: https://pypi-hypernode.com/pypi/riemann_wrapper

Manual:

python setup.py install

Usage

Provide a metric name and a bernhard client for timing:

import bernhard
from riemann_wrapper import wrap_riemann, riemann_wrapper

riemann = bernhard.Client()

@wrap_riemann("cpu-intensive-task", client=riemann)
def do_something_cpu_intensive():
   # [...]

Call options:

The following keyword args may be passed to wrap_riemann:

  • client: instance of bernhard.Client to send events with

  • tags: tags to attach to riemann events

  • host: override hostname for the event

  • logger: a standard python logger to which transport errors may be logged

Alternately, a new wrapping function can be created by calling riemann_wrapper like-so:

import bernhard
from riemann_wrapper import wrap_riemann, riemann_wrapper

riemann = bernhard.Client()
my_wrapper = riemann_wrapper(client=bernhard.Client(), prefix="myapp.")

@my_wrapper("cpu-intensive-task")
def do_something_cpu_intensive():
   # [...]

The following keyword args may be passed to riemann_wrapper:

  • client: instance of bernhard.Client to send events with

  • global_tags: tags present in all sent events. Default: ['python'].

  • host: override hostname for all events. Default: None.

  • logger: a standard python logger to which transport errors may be logged. Default: None.

  • prefix: prepend given string to all event services. Default: python.

  • exception_state: state sent for exceptions. Default: 'warning'.

  • send_exceptions: boolean or callable that takes an exceptions as a parameter and returns a boolean to specify whether to send that particular exception to riemann. Default: True.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

riemann_wrapper-0.6.2.tar.gz (2.9 kB view details)

Uploaded Source

File details

Details for the file riemann_wrapper-0.6.2.tar.gz.

File metadata

File hashes

Hashes for riemann_wrapper-0.6.2.tar.gz
Algorithm Hash digest
SHA256 dd6d2cfa155b80e0d913241291ad47454b4131ccdef3f93ccc8c233b98517e09
MD5 f11910a8aa47c4e3a8fc1beb7f96642b
BLAKE2b-256 5fdb83d74e50d1532afcc12dd53d89d1957765c5bc5c94bc00f8a68ad2434e78

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page