> This page is for NeMo Relay, version dev.
> For other versions, use one of these documentation indexes:
> - Latest (v0.10.4) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.10.4: https://docs.nvidia.com/nemo/relay/v0.10.4/llms.txt
> - v0.9.4: https://docs.nvidia.com/nemo/relay/v0.9.4/llms.txt
> - v0.8.4: https://docs.nvidia.com/nemo/relay/v0.8.4/llms.txt
> - v0.7.3: https://docs.nvidia.com/nemo/relay/v0.7.3/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Struct Diagnostic Memory Usage

> Backing capacity and current occupancy of one context.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

<pre />

Backing capacity and current occupancy of one context.

These gauges describe the bounded backend rather than whole-process RSS. Reserved bytes describe allocated capacity; occupied bytes describe its use and are not additional allocations. History and detail totals are subsets of `reserved_bytes`; logical detail and slack are subsets of `detail_bytes`. All values are zero when collection is disabled.

## Fields

### `reserved_bytes: usize`

Bytes reserved for context-owned backend backing storage.

### `components: usize`

Occupied active or retained closed component slots.

### `counters: usize`

Occupied lifetime code-counter slots across admitted components.

### `events: usize`

Currently retained shared circular-history event headers.

### `event_slot_bytes: usize`

Compiled size of one fixed event slot, excluding separately stored text.

### `event_capacity: usize`

Event slots admitted for the shared circular history.

### `history_reserved_bytes: usize`

Complete history allocation, including all slots, shared header, and padding.

### `history_occupied_bytes: usize`

Retained slot bytes; excludes the shared history header and separate text pool.

### `detail_bytes: usize`

Pool payload bytes occupied in whole reclaimable blocks.

### `detail_capacity_bytes: usize`

Actual payload capacity, rounded down to whole detail blocks.

### `detail_reserved_bytes: usize`

Complete detail-pool backing: payload capacity plus all block metadata.

### `detail_metadata_bytes: usize`

Reserved metadata bytes for all detail blocks, occupied or free.

### `detail_logical_bytes: usize`

Retained UTF-8 message and correlation bytes, excluding block slack.

### `detail_slack_bytes: usize`

Unused payload bytes inside occupied blocks; excludes entirely free blocks.

### `metadata_bytes: usize`

Admitted key, ownership, and extension metadata content bytes.

### `window_buckets: usize`

Reserved rolling outcome-bucket slots belonging to components.

### `extensions: usize`

Admitted extension descriptors, including retained closed components.

### `query_workspaces: usize`

Query leases currently holding preallocated materialization buffers.

### `projections: usize`

Optional projection subscriptions currently admitted.

### `projection_workspaces: usize`

Projection workspaces currently materializing or delivering evidence.

## Trait Implementations

### `impl Clone for DiagnosticMemoryUsage`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Debug for DiagnosticMemoryUsage`

<pre />

#### `fmt`

<pre />

### `impl Default for DiagnosticMemoryUsage`

<pre />

#### `default`

<pre />

### `impl Serialize for DiagnosticMemoryUsage`

<pre />

#### `serialize`

<pre />

### `impl Copy for DiagnosticMemoryUsage`

<pre />