# observability

URL: /milo-cli/api/milo/observability/
Section: milo
Description: Observability for MCP requests — logging, stats, correlation IDs.

---

> For a complete page index, fetch /milo-cli/llms.txt.

Open LLM text
(/milo-cli/api/milo/observability/index.txt)

Share with AI

Ask Claude
(https://claude.ai/new?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fmilo-cli%2Fapi%2Fmilo%2Fobservability%2Findex.txt)

Ask ChatGPT
(https://chatgpt.com/?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fmilo-cli%2Fapi%2Fmilo%2Fobservability%2Findex.txt)

Ask Gemini
(https://gemini.google.com/app?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fmilo-cli%2Fapi%2Fmilo%2Fobservability%2Findex.txt)

Ask Copilot
(https://copilot.microsoft.com/?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fmilo-cli%2Fapi%2Fmilo%2Fobservability%2Findex.txt)

Module

#
`observability`

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

2Classes2Functions

## 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`
