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

# lens.instruments.rl

RL metric instruments (rl.\* namespace).

## Module Contents

### Functions

| Name                                                              | Description                                                              |
| ----------------------------------------------------------------- | ------------------------------------------------------------------------ |
| [`_get_rl_instruments`](#lens-instruments-rl-_get_rl_instruments) | -                                                                        |
| [`record_rl_metrics`](#lens-instruments-rl-record_rl_metrics)     | Record RL training metrics. All arguments optional; None values skipped. |

### Data

[`_RL_INSTRUMENTS`](#lens-instruments-rl-_RL_INSTRUMENTS)

[`_logger`](#lens-instruments-rl-_logger)

### API

```python
lens.instruments.rl._get_rl_instruments(
    meter: opentelemetry.metrics.Meter
) -> dict
```

```python
lens.instruments.rl.record_rl_metrics(
    meter: opentelemetry.metrics.Meter,
    reward_mean: float | None = None,
    kl_divergence: float | None = None,
    policy_loss: float | None = None,
    value_loss: float | None = None,
    entropy: float | None = None,
    response_length_mean: float | None = None,
    grad_norm: float | None = None,
    learning_rate: float | None = None,
    throughput_tokens_per_sec: float | None = None,
    generation_duration_ms: float | None = None,
    rollout_duration_ms: float | None = None
) -> None
```

Record RL training metrics. All arguments optional; None values skipped.

```python
lens.instruments.rl._RL_INSTRUMENTS: WeakKeyDictionary = weakref.WeakKeyDictionary()
```

```python
lens.instruments.rl._logger = logging.getLogger(__name__)
```