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

name

Metrics namespace/agent name.