Python Statsd library for sending statsd messages via the Monasca Agent
Go to file
Flavio Percoco d835fe1b56 Show team and repo badges on README
This patch adds the team's and repository's badges to the README file.
The motivation behind this is to communicate the project status and
features at first glance.

For more information about this effort, please read this email thread:

http://lists.openstack.org/pipermail/openstack-dev/2016-October/105562.html

To see an example of how this would look like check:

https://gist.github.com/d55697ddbd77f70406eca6b695761e64

Change-Id: I611835e02edbd3795dbd275ca6d6ae9eee815cd5
2016-11-25 18:26:06 +01:00
docs Clean up the licensing 2016-11-04 14:01:11 -06:00
monascastatsd Clean up the licensing 2016-11-04 14:01:11 -06:00
tests Clean up the licensing 2016-11-04 14:01:11 -06:00
tools Sync tools/tox_install.sh 2016-08-30 20:19:20 +02:00
.gitignore Adding python client for statsd messages 2014-09-23 07:55:58 -06:00
.gitreview Update .gitreview for new namespace 2015-10-17 22:31:04 +00:00
LICENSE Clean up the licensing 2016-11-04 14:01:11 -06:00
README.md Show team and repo badges on README 2016-11-25 18:26:06 +01: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 2016-07-08 11:08:46 -06:00
setup.cfg add a summary for the project to fix release announcements 2016-11-09 11:31:29 -05:00
setup.py Clean up the licensing 2016-11-04 14:01:11 -06:00
test-requirements.txt Allow easy configuration of host/port settings 2016-10-20 14:54:03 -06:00
tox.ini Delete python bytecode file 2016-10-12 14:30:07 +08: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.