Skip to main content

Module for keeping metrics about your application in Redis. The goal is to have an easy way to measure an application, and then expose these metrics through a HTTP API, either to process it in some web ui, or expose it to Prometheus.

Project description

Aka Stats

GitHub license Test/Lint PyPI

Aka (赤 - red in japanese) Stats.

Unified module for keeping stats in Redis.

The goal is to have an easy way to measure an application, and then expose these metrics through a HTTP API, either to process it in some web ui, or expose it to Prometheus.

from aka_stats import Stats, timer

with Stats() as stats:

    t = timer()
    ...

    stats("task_done", next(t).stat)

Or for asynchronouse code:

from aka_stats import Stats, timer

async def process_device(device_id: str):

    async with Stats() as stat:
        t = timer()
        ...
        stats("task_done", next(t).stat, extra_labels={"device_id": device_id})

Installation

And add this package to your project:

poetry add aka-stats

Usage Guide

Check out the usage guide here: Usage.md

Prometheus formatters

Information how to write a formatter is here: PrometheusFormatter.md

Optional Standalone HTTP API

Check out this guide here: Included HTTP API

Pytest plugin

This module is also a pytest plugin, providing a fixture mock_stats which collects stats instead of writing them to Redis.

def test_something(mock_stats):
    do_something()
    assert mock_stats[0] == (1612550961, "test", 1, None)

And the module with function:

def do_something():
    with Stats() as stats:
        stat("test", 1)

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

aka-stats-21.2.5.tar.gz (12.5 kB view hashes)

Uploaded Source

Built Distribution

aka_stats-21.2.5-py3-none-any.whl (14.5 kB view hashes)

Uploaded Python 3

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