Observers API Reference
ProcessorObserver
async_batch_llm.observers.ProcessorObserver
Bases: ABC
Abstract base class for processor event observers.
on_event
abstractmethod
async
Handle processor event.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
event
|
ProcessingEvent
|
The event type |
required |
data
|
dict[str, Any]
|
Event-specific data |
required |
BaseObserver
async_batch_llm.observers.BaseObserver
Bases: ProcessorObserver
Base observer with no-op implementation.
MetricsObserver
async_batch_llm.observers.MetricsObserver
Bases: BaseObserver
Collect metrics for monitoring (thread-safe).
Initialize metrics collector.
Source code in src/async_batch_llm/observers/metrics.py
export_dict
async
Export metrics as a dictionary.
Returns:
| Type | Description |
|---|---|
dict[str, Any]
|
Dictionary containing all metrics and computed statistics |
Example
observer = MetricsObserver()
... process items ...
data = await observer.export_dict() print(data["success_rate"])
Source code in src/async_batch_llm/observers/metrics.py
export_json
async
Export metrics as JSON string.
Returns:
| Type | Description |
|---|---|
str
|
JSON string containing all metrics and computed statistics |
Example
observer = MetricsObserver()
... process items ...
json_str = await observer.export_json() print(json_str)
Source code in src/async_batch_llm/observers/metrics.py
export_prometheus
async
Export metrics in Prometheus text format.
Returns:
| Type | Description |
|---|---|
str
|
Prometheus-formatted metrics string |
Example
observer = MetricsObserver()
... process items ...
prom_text = await observer.export_prometheus() print(prom_text)
HELP async_batch_llm_items_processed Total items processed
TYPE async_batch_llm_items_processed counter
async_batch_llm_items_processed 100 ...
Source code in src/async_batch_llm/observers/metrics.py
get_metrics
async
Get collected metrics with computed statistics (thread-safe).
Source code in src/async_batch_llm/observers/metrics.py
on_event
async
Collect metrics from events (thread-safe).
Source code in src/async_batch_llm/observers/metrics.py
reset
Reset all metrics.