Skip to main content

Small library for in-memory aggregation.

Project description

CI status: cistatus

This library is a thin python wrapper around counter and timer implementation in https://raw.github.com/armon/statsite

Installing

pystat can be installed via pypi:

pip install pystat

Building

Get the source:

git clone https://github.com/blackwithwhite666/pystat.git

Compile extension:

python setup.py build_ext --inplace

Usage

Counter example:

from pystat import Counter
counter = Counter()
counter.add()
assert 1 == int(counter)
counter.add()
assert 2 == int(counter)
counter.add(5)
assert 7 == int(counter)
assert 3 == len(counter)
assert 5.0 == counter.max
assert 1.0 == counter.min
assert 2.333.. == counter.mean
assert 2.309.. == counter.stddev

Timer example:

from pystat import Timer
timer = Timer()
timer.add(1.0)
assert 1 == int(timer)
timer.add(1.0)
assert 2 == int(timer)
timer.add(5)
assert 7 == int(timer)
assert (0.5, 0.95, 0.99) == timer.quantiles
assert 5.0 == timer.query(0.99)
assert 1.0 == timer.query(0.5)

Running the test suite

Use Tox to run the test suite:

tox

Changelog

0.2.2

  • PlainCounter implementation;

0.2.1

  • Counter can take some iterable to constructor;

0.2.0

  • Add serialization support for Counter;

  • Add union support for Counter;

0.1.0 (initial release)

  • Prototype.

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

pystat-0.2.2.tar.gz (79.7 kB view hashes)

Uploaded Source

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