redis_openai_agents.AgentMetrics#
- class AgentMetrics(name, redis_url='redis://localhost:6379', retention_ms=3600000, pool=None)[source]#
Time-series metrics collector using RedisTimeSeries.
Provides built-in observability for agent operations without requiring a separate time-series database.
Example
>>> metrics = AgentMetrics(name="my_agent") >>> metrics.record(latency_ms=150.0, input_tokens=100) >>> stats = metrics.get_stats() >>> print(f"Average latency: {stats['latency_avg']}")
- Parameters:
name (str) – Metrics namespace/agent name
redis_url (str) – Redis connection URL
retention_ms (int) – Data retention period in milliseconds (default: 1 hour)
pool (RedisConnectionPool | None)
Initialize the metrics collector.
- Parameters:
name (str) – Metrics namespace/agent name
redis_url (str) – Redis connection URL
retention_ms (int) – Data retention period in milliseconds
pool (RedisConnectionPool | None) – Optional shared connection pool
- __init__(name, redis_url='redis://localhost:6379', retention_ms=3600000, pool=None)[source]#
Initialize the metrics collector.
- Parameters:
name (str) – Metrics namespace/agent name
redis_url (str) – Redis connection URL
retention_ms (int) – Data retention period in milliseconds
pool (RedisConnectionPool | None) – Optional shared connection pool
- Return type:
None
Methods
__init__(name[, redis_url, retention_ms, pool])Initialize the metrics collector.
arecord([latency_ms, input_tokens, ...])Async version of record() - record metrics for an agent request.
close()Close the Redis connection.
delete()Delete all metrics data.
get_stats()Get aggregated statistics for all metrics.
range(metric, from_time, to_time)Query metric data over a time range.
record([latency_ms, input_tokens, ...])Record metrics for an agent request.
Attributes
nameMetrics namespace/agent name.