Metadata-Version: 2.4
Name: sre-metrics
Version: 1.0.0
Summary: Minimalist SRE metrics for FastAPI and Flask
Author-email: teochenglim <teochenglim@gmail.com>
Project-URL: Homepage, https://github.com/teochenglim/sre-metrics
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Provides-Extra: fastapi
Requires-Dist: fastapi>=0.68.0; extra == "fastapi"
Provides-Extra: flask
Requires-Dist: flask>=2.0.0; extra == "flask"
Provides-Extra: dependencies
Requires-Dist: prometheus-client>=0.12.0; extra == "dependencies"

# SRE RED Metrics

[![PyPI](https://img.shields.io/pypi/v/red-metrics)](https://pypi.org/project/red-metrics/)

Minimalist SRE metrics for Python web frameworks.

## Features

- Default metrics on port 9090
- Tracks individual status codes + optional grouping
- FastAPI and Flask support
- <5ms overhead

## FastAPI Installation

```bash
pip install sre-metrics[fastapi]

```

### FastAPI Usage

```python
from fastapi import FastAPI
from sre-metrics import instrument_fastapi

app = FastAPI()
instrument_fastapi(app)  # Metrics on :9090 by default

# Custom port
instrument_fastapi(app, metrics_port=9091, excluded_paths=["/healthz"])

```


### Flask Installation

```bash
pip install sre-metrics[flask]
```

```python
from flask import Flask
from sre-metrics import instrument_flask

app = Flask(__name__)
instrument_flask(app)  # Metrics on :9090

# Custom options:
instrument_flask(app, metrics_port=9091, excluded_paths=["/healthz"])

```

