Python Statsd library for sending statsd messages via the Monasca Agent
Go to file
melissaml 39905082d0 Update links in README
Change the outdated links to the latest links in README

Change-Id: Ic829b89ae6737f2cf8aec0c3769c08d659640d89
2018-03-30 14:06:16 +08:00
doc/source Fix html_last_updated_fmt for Python3 2017-06-06 10:27:41 +07:00
monascastatsd Clean up client.py 2017-01-12 21:57:06 +00:00
tests Extend tox for monasca-statsd 2017-01-16 10:06:02 +00:00
.coveragerc Extend tox for monasca-statsd 2017-01-16 10:06:02 +00:00
.gitignore Extend tox for monasca-statsd 2017-01-16 10:06:02 +00:00
.gitreview Update .gitreview for new namespace 2015-10-17 22:31:04 +00:00
.testr.conf Extend tox for monasca-statsd 2017-01-16 10:06:02 +00:00
.zuul.yaml Zuul: Remove project name 2018-01-31 20:13:06 -08:00
LICENSE Clean up the licensing 2016-11-04 14:01:11 -06:00
README.md Update links in README 2018-03-30 14:06:16 +08:00
Rakefile Adding python client for statsd messages 2014-09-23 07:55:58 -06:00
mkdocs.yml Added a config file for documentation generation using Markdown and readthedocs.org. 2015-02-24 00:16:20 +00:00
requirements.txt Updated from global requirements 2017-11-16 11:11:03 +00:00
setup.cfg Extend tox for monasca-statsd 2017-01-16 10:06:02 +00:00
setup.py Updated from global requirements 2017-03-02 11:47:11 +00:00
test-requirements.txt Updated from global requirements 2018-03-10 13:22:21 +00:00
tox.ini Remove -U from pip install 2017-12-02 19:26:38 +01:00

README.md

Team and repository tags

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'})

Repository

The monasca-statsd code is located here: here.

Feedback

To suggest a feature, report a bug, or general discussion, head over here.

License

See LICENSE file Code was originally forked from Datadog's dogstatsd-python, hence the dual license.