Module

observability

Observability for MCP requests — logging, stats, correlation IDs.

Classes

RequestLog 7
A single MCP request log entry.

A single MCP request log entry.

Attributes

Name Type Description
correlation_id str
method str
name str
latency_ms float
error str
cli_name str
timestamp float
RequestLogger 4
Thread-safe ring buffer for MCP request logs with stats computation.

Thread-safe ring buffer for MCP request logs with stats computation.

Methods

record 1
Record a request log entry.
def record(self, log: RequestLog) -> None
Parameters
Name Type Description
log
recent 1 list[RequestLog]
Return the N most recent log entries.
def recent(self, n: int = 20) -> list[RequestLog]
Parameters
Name Type Description
n Default:20
Returns
list[RequestLog]
stats 0 dict[str, Any]
Compute aggregate statistics.
def stats(self) -> dict[str, Any]
Returns
dict[str, Any]
Internal Methods 1
__init__ 1
def __init__(self, max_size: int = 1000) -> None
Parameters
Name Type Description
max_size Default:1000

Functions

new_correlation_id 0 str
Generate and set a new correlation ID. Returns the ID.
def new_correlation_id() -> str
Returns
str
log_request 6 RequestLog
Create and record a request log entry. Returns the log.
def log_request(logger: RequestLogger, method: str, name: str, start_time: float, *, error: str = '', cli_name: str = '') -> RequestLog
Parameters
Name Type Description
logger RequestLogger
method str
name str
start_time float
error str Default:''
cli_name str Default:''
Returns
RequestLog