Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Python Metric Logger.

Project Description

log-metrics

log-metrics is a tiny metrics logger, based on the l2met format. Meant for use on Heroku, his allows you to send custom metrics to Librato.

You can find more information on these custom metrics here.

Installation

$ pip install log-metrics

Usage

Everything takes place from the log_metrics module, which can be imported like so:

>>> import log_metrics

Samples

>>> log_metrics.sample('process.foo.memory.mb', '52.54')
sample#process.foo.memory.mb=52.54

Measurements

>>> log_metrics.measure('myfoo.ms', '150')
measure#myfoo.ms=150

Uniques

>>> log_metrics.unique('user.clicked', 'bob')
unique#user.clicked=bob
>>> log_metrics.unique('user.clicked', 'joey')
unique#user.clicked=joey
>>> log_metrics.unique('user.clicked', 'jenny')
unique#user.clicked=jenny

Counters

>>> log_metrics.increment('myfoo')
count#myfoo=1
>>> log_metrics.increment('myfoo', 3)
count#myfoo=3

Timers

>>> with log_metrics.timer('my-timed-context'):
...     time.sleep(1)
measure#my-timed-context.ms=1001.20
>>> @log_metrics.timer('my-timed-decorator'):
... def my_func():
...     time.sleep(0.5)
>>> my_func()
measure#my-timed-decorator.ms=504.20

Metric Groups

>>> with log_metrics.group() as g:
...     g.measure('my-measurement', 2)
...     g.increment('my-counter')
measure#my-measurement=2 count#my-counter=1
>>> g = log_metrics.group()
>>> g.measure('my-measurement', 2)
>>> g.increment('my-counter')
>>> g.emit()
measure#my-measurement=2 count#my-counter=1

Sources and Prefixes

Sources and prefixes can be defined like so:

>>> log_metrics.increment('my-counter', prefix='awesome')
count#awesome.my-counter=1
>>> log_metrics.measure('my-measurement', 50, source='testing')
source=testing measure#my-measurement=50

These arguments are also supported for group functions:

>>> g = log_metrics.group(prefix='my-prefix', source='my-metric-source')
>>> g.increment('my-amount')
>>> g.increment('my-measurement')
>>> g.emit()
source=my-metric-source count#my-prefix.my-amount=1 count#my-prefix.my-amount1=1 count#my-prefix.my-amount2=1

History

0.0.4 (2014-04-17)

  • ‘group’ API now operational outside of a context manager.
  • Minor code changes.

0.0.3 (2014-04-14)

  • Introduced the ‘group’ API.

0.0.2 (2014-04-14)

  • Added more documentation for simple usage.
  • Worked on installation utilities.
  • Still no tests :(.

0.0.1 (2014-04-14)

  • Initial release.
Release History

Release History

This version
History Node

0.0.4

History Node

0.0.2

History Node

0.0.1

History Node

0

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
log-metrics-0.0.4.tar.gz (4.4 kB) Copy SHA256 Checksum SHA256 Source Apr 17, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting