Python Statsd library for sending statsd messages via the Monasca Agent
Go to file
Andreas Jaeger 00b8171584 Remove -U from pip install
'pip install -U' ugrades specified packages, this is not necessary
since we use constraints, remove the parameter '-U' from the line.

With tools/tox_install.sh - which a previous change of mine removed -
the -U was not harmful, but with the current set up, it might cause
upgrades, so remove it.

Change-Id: I9b14274aee2c19e8a12ee48a129b62f5f6c67c57
2017-12-02 19:26:38 +01: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 Add .zuul.yaml file. 2017-10-24 09:07:55 +02:00
LICENSE Clean up the licensing 2016-11-04 14:01:11 -06:00
README.md Optimize the link address 2017-04-11 14:03:23 +05:30
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 2017-09-13 12:53:25 +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.