> This page is for NeMo Relay, version dev.
> For other versions, use one of these documentation indexes:
> - Latest (v0.11.1) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.11.1: https://docs.nvidia.com/nemo/relay/v0.11.1/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 Usage

> Optional provider token counts and cost; absent counts never imply zero.

Generated from `cargo doc --no-deps -p nemo-relay-builtins -p nemo-relay-diagnostics -p nemo-relay-logging -p nemo-relay-plugin-host -p nemo-relay-codecs -p nemo-relay -p nemo-relay-runtime -p nemo-relay-model-pricing -p nemo-relay-resource-metrics -p nemo-relay-observability -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 />

Optional provider token counts and cost; absent counts never imply zero.

## Fields

### `prompt_tokens: Option<u64>`

Tokens consumed by the prompt/input.

### `completion_tokens: Option<u64>`

Tokens generated in the completion/output.

### `total_tokens: Option<u64>`

Total tokens (prompt + completion).

### `cache_read_tokens: Option<u64>`

Tokens served from prompt cache (read).

### `cache_write_tokens: Option<u64>`

Legacy aggregate prompt-cache write count; use cache_write_token_counts when present.

### `cache_write_1h_tokens: Option<u64>`

Legacy one-hour subset of the aggregate prompt-cache write count.

### `uncached_input_tokens: Option<u64>`

Input tokens neither read from nor written to the provider's prompt cache. Include this value only when the provider's usage rules define this split. Absence does not mean zero.

### `cost: Option<CostEstimate>`

Optional cost reported by provider data or estimated from Relay model pricing.

### `cache_write_token_counts: Option<CacheWriteTokenCountsList>`

Ordered duration-aware cache writes; presence overrides both legacy cache-write fields.

## Implementations

### `impl Usage`

<pre />

#### `prompt_tokens`

<pre />

Returns the value of `prompt_tokens`, or the default value if `prompt_tokens` is unset.

#### `completion_tokens`

<pre />

Returns the value of `completion_tokens`, or the default value if `completion_tokens` is unset.

#### `total_tokens`

<pre />

Returns the value of `total_tokens`, or the default value if `total_tokens` is unset.

#### `cache_read_tokens`

<pre />

Returns the value of `cache_read_tokens`, or the default value if `cache_read_tokens` is unset.

#### `cache_write_tokens`

<pre />

Returns the value of `cache_write_tokens`, or the default value if `cache_write_tokens` is unset.

#### `cache_write_1h_tokens`

<pre />

Returns the value of `cache_write_1h_tokens`, or the default value if `cache_write_1h_tokens` is unset.

#### `uncached_input_tokens`

<pre />

Returns the value of `uncached_input_tokens`, or the default value if `uncached_input_tokens` is unset.

## Trait Implementations

### `impl Clone for Usage`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Debug for Usage`

<pre />

#### `fmt`

<pre />

### `impl Default for Usage`

<pre />

#### `default`

<pre />

### `impl Message for Usage`

<pre />

#### `encoded_len`

<pre />

#### `clear`

<pre />

#### `encode`

<pre />

#### `encode_to_vec`

<pre />

#### `encode_length_delimited`

<pre />

#### `encode_length_delimited_to_vec`

<pre />

#### `decode`

<pre />

#### `decode_length_delimited`

<pre />

#### `merge`

<pre />

#### `merge_length_delimited`

<pre />

### `impl Name for Usage`

<pre />

#### `NAME`

<pre />

#### `PACKAGE`

<pre />

#### `full_name`

<pre />

#### `type_url`

<pre />

### `impl PartialEq for Usage`

<pre />

#### `eq`

<pre />

#### `ne`

<pre />

### `impl WireValue<Usage> for Usage`

<pre />

#### `to_wire`

<pre />

#### `from_wire`

<pre />

### `impl StructuralPartialEq for Usage`

<pre />