Skip to main content

graphite/carbon udp client for sending metrics

Project description

https://travis-ci.org/mosquito/carbon-client.svg?branch=master Latest Version https://img.shields.io/pypi/wheel/carbon-client.svg https://img.shields.io/pypi/pyversions/carbon-client.svg https://img.shields.io/pypi/l/carbon-client.svg

Client for sending metrics into carbon server

Initialization

By default carbon-client creates a client based on os.environ variables:

  • CARBON_HOST - Contains one or many endpoints (e.g “127.0.0.1:2003, 10.2.1.0:2003”)

  • CARBON_NS - it’s a namespace for sending metrics (e.g. “carbon.coal-service”)

Actually you can configure this by hands.

Example

The simple test :

# You should set ENV variables CARBON_HOST and CARBON_NS
# CARBON_HOST might contains multiple destinations (comma separated)
from time import sleep
from carbon.client import stat
from carbon.client.extras import SimpleCounter

# Will be pended one or two metrics
# carbon_client.counter_ok
# carbon_client.counter_fail - if exception will be raised
# carbon_client is namespace by default.
with SimpleCounter("counter"):
    sleep(1)

# Will be pended one metric
# carbon_client.timer_ok - if exception will be raised
# carbon_client.timer_fail - if exception will be raised
# carbon_client is namespace by default.
with SimpleTimer("timer"):
    sleep(1)

# Will be pended n metric
# carbon_client.collector
# carbon_client is namespace by default.
with SimpleCollector("collector") as collector:
    collector.add(123)
    collector.add(122)
    collector.add(-10)

# all metrics will sent.
stat.send()

The advanced test :

from time import sleep
from carbon.client import UDPClient
from carbon.client.extras import SimpleCounter, SimpleTimer, SimpleCollector

# Will be send to multiple destinations
client = UDPClient("127.0.0.1, 191.168.1.11:2003", "test")

with SimpleCounter("counter", client):
    sleep(1)

with SimpleTimer("timer", client):
    sleep(1)

with SimpleCollector("collector", client) as collector:
    collector.add(123)

client.send()

Another test :

from time import sleep
from carbon.client import stat
from carbon.client import metrics

# Counter
stat['counter'] = metrics.Counter
stat['counter'].inc(1)
sleep(1)
stat['counter'].dec(1)

# Timer
stat['timer'] = metrics.Timer
stop_watch = stat['timer'].start()
sleep(1)
stat['timer'].stop(stop_watch)

# Collector
stat['collector'] = metrics.Collector
stat['collector'].add(1)
sleep(1)
stat['collector'].add(2)
sleep(1)
stat['collector'].add(3)
sleep(1)
stat['collector'].add(-10)

stat.send()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

carbon-client-0.3.0.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

carbon_client-0.3.0-py2-none-any.whl (11.3 kB view details)

Uploaded Python 2

File details

Details for the file carbon-client-0.3.0.tar.gz.

File metadata

File hashes

Hashes for carbon-client-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9c8d9e540a5e33bcdca286779fdd1873c5b2db7bd22d88185061934a01f62a0f
MD5 48b24fcac177b61ba6300b8d53517347
BLAKE2b-256 7f714df7bd6995002494a73b0c1fd21c6fbb33ee62b2c6abe4c696bee8655b06

See more details on using hashes here.

File details

Details for the file carbon_client-0.3.0-py2-none-any.whl.

File metadata

File hashes

Hashes for carbon_client-0.3.0-py2-none-any.whl
Algorithm Hash digest
SHA256 e84223e742a9a2f688d299ca14c858c59f596cedaedfbd5a236e1a8ae1691396
MD5 665cca980c92d5820900ecff9745d322
BLAKE2b-256 ba26a56461e999db2bb98a026f6255099a705961ac91135516b84256836de1aa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page