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()
Metadata
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| carbon-client-0.3.3.tar.gz | 6.4 kB | Without provenance | Details for carbon-client-0.3.3.tar.gz |
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 |
Security for carbon-client 0.3.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.