Python Client for Chouette-IoT metrics collection agent
Project description
Chouette-IoT-Client
Python client library for Chouette-IoT metrics collection agent.
This library can be used in applications to send Datadog-ish like messages to a Chouette-IoT metrics aggregator.
It uses Redis as a broker. Metrics are being stored in Redis and then they are collected, processed and dispatched by Chouette-IoT.
This library is able to send follow metric types: count
, gauge
, histogram
, rate
and set
. distribution
metric is NOT supported.
Examples
Usage example:
from time import time
from chouette_iot_client import ChouetteClient
# These metrics takes a float as their value:
ChouetteClient.count(metric="my.count.metric", value=1, timestamp=time(), tags={"importance": "high"})
ChouetteClient.gauge("my.gauge.metric", 1)
ChouetteClient.histogram("my.histogram.metric", 1.5)
ChouetteClient.rate("my.rate.metric", 1)
# Set metric takes a list or a set as its value:
ChouetteClient.set("my.set.metric.set", {1, 2, 3})
ChouetteClient.set("my.set.metric.list", [1, 2, 3])
Metric name metric
and value
are mandatory parameters. timestamp
and tags
are optional.
When no timestamp
is specified, actual time is automatically taken. When no tags
are specified, empty dict is being sent.
Also ChouetteClient supports timed
both as a context manager and a decorator:
from time import sleep
from chouette_iot_client import timed
# ContextManager:
with timed(metric="my.timed.context_manager", tags={"units": "seconds"}, use_ms=False):
sleep(1)
# Decorator:
@timed(metric="my.timed.decorator", tags={"units": "milliseconds"}, use_ms=True)
def rest():
sleep(1)
rest()
Both these options will send the same data. But in one case it's going to be a value in seconds (~1.0) and in another case it will be a value in milliseconds (~1000).
License
Chouette-IoT-Client is licensed under the Apache License, Version 2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file chouette-iot-client-0.0.1.tar.gz
.
File metadata
- Download URL: chouette-iot-client-0.0.1.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 859fdf4f8b2d6f9767f4ab9905b7bbda9fdf935865bfb20c558c4604600affd5 |
|
MD5 | 867bf163c9921ed9efd66d778610815f |
|
BLAKE2b-256 | 11f95f1eae3c076ffaee62522bac7e4e661c28a8e0ac9a7d8ede01da701b4797 |
File details
Details for the file chouette_iot_client-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: chouette_iot_client-0.0.1-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29d97660cd833e7e1d0544f4f6ea294013180d0f37700e971ff05d016f480ac8 |
|
MD5 | bce1d05eeb87e195032fb9c0f446944d |
|
BLAKE2b-256 | 725c5aab8a824e86dc8c5f0cde44deeca76248dc21d7d4099385cd42470cc60a |