Skip to main content

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


Download files

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

Source Distribution

chouette-iot-client-0.0.1.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

chouette_iot_client-0.0.1-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

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

Hashes for chouette-iot-client-0.0.1.tar.gz
Algorithm Hash digest
SHA256 859fdf4f8b2d6f9767f4ab9905b7bbda9fdf935865bfb20c558c4604600affd5
MD5 867bf163c9921ed9efd66d778610815f
BLAKE2b-256 11f95f1eae3c076ffaee62522bac7e4e661c28a8e0ac9a7d8ede01da701b4797

See more details on using hashes here.

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

Hashes for chouette_iot_client-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 29d97660cd833e7e1d0544f4f6ea294013180d0f37700e971ff05d016f480ac8
MD5 bce1d05eeb87e195032fb9c0f446944d
BLAKE2b-256 725c5aab8a824e86dc8c5f0cde44deeca76248dc21d7d4099385cd42470cc60a

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