aioworkers-prometheus

aioworkers prometheus integration


Keywords
aioworkers, prometheus, asyncio, python
License
Apache-2.0
Install
pip install aioworkers-prometheus==0.5.1

Documentation

aioworkers-prometheus

Coverage Code style: ruff Code style: black Code style: Mypy Documentation Status Python versions Hatch project

Use

metric:
  registry: aioworkers
  namespace: aioworkers_test_metric
  metrics:
    my_counter:
      type: counter
      name: test_counter
      documentation: Counter for tests
    my_histogram:
      type: histogram
      name: test_histogram
      documentation: Histogram for tests
      buckets: [30, 90, 100, 200, 400, 800]

Use in code

context.metric.my_counter.inc()
context.metric.my_histogram.observe(542)

with context.metric.my_histogram.time():
    await asyncio.sleep(1)

Add global labels to default registry to exposition

prometheus:
  registry: aioworkers
  labels:
    env: prod

Serve port 8000 for prometheus

prometheus:
  port: 8000
  registry: aioworkers

Push to graphite localhost:9090

prometheus:
  registry: aioworkers
  graphite:
    address: localhost:9090
    interval: 1m
    prefix: aioworkers.test

Development

Check code:

hatch run lint:all

Format code:

hatch run lint:fmt

Run tests:

hatch run pytest

Run tests with coverage:

hatch run cov