File: README.rst

package info (click to toggle)
python-monasca-statsd 1.11.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 196 kB
  • sloc: python: 480; makefile: 14
file content (92 lines) | stat: -rw-r--r-- 2,353 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
Team and repository tags
========================

.. image:: https://governance.openstack.org/tc/badges/monasca-statsd.svg
    :target: https://governance.openstack.org/tc/reference/tags/index.html

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.

.. _StoryBoard: https://storyboard.openstack.org/#!/project/872