c97ccb2f99
We want to default to running all tox environments under python 3, so set the basepython value in each environment. We do not want to specify a minor version number, because we do not want to have to update the file every time we upgrade python. We do not want to set the override once in testenv, because that breaks the more specific versions used in default environments like py35 and py36. Change-Id: Ie12f0b23e32b64b57fec5f2926fa3504b16ad2df Signed-off-by: Doug Hellmann <doug@doughellmann.com> |
||
---|---|---|
doc/source | ||
monascastatsd | ||
tests | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.stestr.conf | ||
.testr.conf | ||
.zuul.yaml | ||
LICENSE | ||
README.rst | ||
Rakefile | ||
lower-constraints.txt | ||
mkdocs.yml | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Team and repository tags
A Monasca-Statsd Python Client.
Quick Start Guide
First install the library with pip
or
easy_install
:
# Install in system python ...
sudo pip install monasca-statsd
# .. or into a virtual env
pip install monasca-statsd
Then start instrumenting your code:
# Import the module.
import monascastatsd as mstatsd
# Create the connection
conn = mstatsd.Connection(host='localhost', port=8125)
# Create the client with optional dimensions
client = mstatsd.Client(connection=conn, dimensions={'env': 'test'})
NOTE: You can also create a client without specifying the connection and it will create the client
with the default connection information for the monasca-agent statsd processor daemon
which uses host='localhost' and port=8125.
client = mstatsd.Client(dimensions={'env': 'test'})
# Increment and decrement a counter.
counter = client.get_counter(name='page.views')
counter.increment()
counter += 3
counter.decrement()
counter -= 3
# Record a gauge 50% of the time.
gauge = client.get_gauge('gauge', dimensions={'env': 'test'})
gauge.send('metric', 123.4, sample_rate=0.5)
# Sample a histogram.
histogram = client.get_histogram('histogram', dimensions={'test': 'True'})
histogram.send('metric', 123.4, dimensions={'color': 'red'})
# Time a function call.
timer = client.get_timer()
@timer.timed('page.render')
def render_page():
# Render things ...
pass
# Time a block of code.
timer = client.get_timer()
with timer.time('t'):
# Do stuff
time.sleep(2)
# Add dimensions to any metric.
histogram = client.get_histogram('my_hist')
histogram.send('query.time', 10, dimensions = {'version': '1.0', 'environment': 'dev'})
Feedback
To suggest a feature, report a bug, or participate in the general discussion, head over to StoryBoard.
License
See LICENSE file. Code was originally forked from Datadog’s dogstatsd-python, hence the dual license.