Skip to main content

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.

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

log-metrics-0.0.4.tar.gz (4.4 kB view details)

Uploaded Source

File details

Details for the file log-metrics-0.0.4.tar.gz.

File metadata

  • Download URL: log-metrics-0.0.4.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for log-metrics-0.0.4.tar.gz
Algorithm Hash digest
SHA256 893ff6fea326f139577aa6569b0eba93cf1216d0fadc9fe588b0a757fe82b479
MD5 a9d8be5fd86a0229b2e47522bbab3129
BLAKE2b-256 a96d5274c945fd62a78a2f6b12081ec8b4de105c2ede039ee5e42aac546a6ff9

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