> This page is for RFdiffusion, version 2.3.0 (Latest) (default).
> For other versions, use one of these documentation indexes:
> - 2.3.0 (Latest) (default): https://docs.nvidia.com/nim/bionemo/rfdiffusion/2.3.0/llms.txt
> - 2.2.0: https://docs.nvidia.com/nim/bionemo/rfdiffusion/2.2.0/llms.txt
> - 2.0.0: https://docs.nvidia.com/nim/bionemo/rfdiffusion/2.0.0/llms.txt
> - 1.0.0: https://docs.nvidia.com/nim/bionemo/rfdiffusion/1.0.0/llms.txt

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

# Advanced Usage

This page describes how to use the advanced and non-standard features of the RFdiffusion NIM, including controlling the log levels of the NIM for monitoring and debugging, and configuring NIM Telemetry. To measure the accuracy and performance of the NIM locally, refer to [Benchmarking](/nim/bionemo/rfdiffusion/benchmarking).

## Logging

### Control the Logging Level

The logging level for the NIM can be controlled using the environment variable `NIM_LOG_LEVEL`. This variable allows you to specify the level of logging detail you want to see in the container's logs.

### Available Logging Levels

The following logging levels are available:

* `DEBUG`: This level will log all inputs and outputs for each endpoint of the server. This can be useful for debugging purposes, but it can also produce very large logs and should only be used when necessary.
* `INFO`: This level will log important events and information about the server's operation.
* `WARNING`: This level will log warnings about potential issues or errors.
* `ERROR`: This level will log errors that occur during the server's operation.
* `CRITICAL`: This level will log critical errors that prevent the server from functioning properly.

### Set the Logging Level

To set the logging level, you can pass the `NIM_LOG_LEVEL` environment variable when starting the NIM. For example, add `-e NIM_LOG_LEVEL=DEBUG` to the `docker run` command from the [Quickstart Guide](/nim/bionemo/rfdiffusion/quickstart-guide):

```bash
docker run -it \
    --runtime=nvidia \
    --gpus='"device=0"' \
    -p 8000:8000 \
    -e NGC_API_KEY \
    -e NIM_LOG_LEVEL=DEBUG \
    -v "$LOCAL_NIM_CACHE":/opt/nim/.cache \
    nvcr.io/nim/ipd/rfdiffusion:2
```

This will set the logging level to `DEBUG`, which will log all inputs and outputs for each endpoint of the server.

### Best Practices

When setting the logging level, you should consider the trade-off between logging detail and log size. If you set the logging level to `DEBUG`, you may generate very large logs that can be difficult to manage. However, if you set the logging level to a higher level (such as `INFO` or `WARNING`), you may miss important debugging information.

It is generally recommended to set the logging level to `INFO` or `WARNING` unless you have a specific need for more detailed logging.

### Default Logging Level

If no value is provided for `NIM_LOG_LEVEL`, the default logging level will be
`INFO`. This means that logs of level `INFO` and higher are recorded.

## NIM Telemetry

NIM Telemetry helps NVIDIA deliver a faster, more reliable experience with greater compatibility across a wide range of environments, while maintaining strict privacy protections and giving users full control.

NIM Telemetry offers the following capabilities:

- **Enhances performance and reliability**: Provides anonymous system and NIM-level insights that help NVIDIA identify bottlenecks, tune performance across hardware configurations, and improve runtime stability.

- **Improves compatibility across deployments**: Helps detect and resolve version, driver, and environment compatibility issues early, reducing friction across diverse infrastructure setups.

- **Accelerates troubleshooting and bug resolution**: Allows NVIDIA to diagnose errors and regressions faster, leading to quicker support response times and higher overall availability.

- **Informs smarter optimizations and future releases**: Real-world, aggregated telemetry data helps guide the optimization of NIM runtimes, model packaging, and deployment workflows, ensuring updates target the scenarios that matter most to users.

- **Protects user privacy and data security**: Collects minimal, anonymous metadata, such as hardware type and NIM version. No user data, input sequences, or prediction results are collected.

- **Fully optional and configurable**: Telemetry collection is disabled by default. You can toggle telemetry at any time using environment variables.

### Configuration

To enable or disable telemetry, set the `NIM_TELEMETRY_MODE` environment variable when starting the NIM container:

- Set `NIM_TELEMETRY_MODE=0` to disable telemetry (default)
- Set `NIM_TELEMETRY_MODE=1` to enable telemetry

For example, add `-e NIM_TELEMETRY_MODE=1` to the `docker run` command from the [Quickstart Guide](/nim/bionemo/rfdiffusion/quickstart-guide) to enable telemetry.

For more information about data privacy, what is collected, and how to configure telemetry, refer to:

- [NVIDIA's Privacy Policy](https://www.nvidia.com/en-us/about-nvidia/privacy-policy/)
- [NIM Telemetry Settings](https://developer.nvidia.com/docs/nim-tools/latest/templates/nimlib/nim-telemetry.html)