Skip to main content
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()

Release files for carbon-client 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for carbon-client 0.3.3
File Size Uploaded
carbon-client-0.3.3.tar.gz 6.4 kB Details

Release files / carbon-client-0.3.3.tar.gz

Download URL carbon-client-0.3.3.tar.gz
Size 6.4 kB
Tags Source
SHA-256 checksum
How to use checksums
19d4d5c7091d4432e4b4a6ed695e3d31b728eed440b72afbe031bab81fb81cda
BLAKE2b-256 checksum
How to use checksums
c1f083dd9302c22b5a71243f6b48a6cd2bf0e7fdf52582813437e2637bdb74a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3.3 This release

1 release file

0.3.2

1 release file

0.3.1

2 release files

0.3.0

2 release files

0.2.1

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page