Advanced Usage#
This page describes how to use the advanced and non-standard features of the RFdiffusion NIM, including benchmarking the performance of the NIM locally and controlling the log levels of the NIM for monitoring and debugging.
Logging#
Controlling 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.
Setting the Logging Level#
To set the logging level, you can pass the NIM_LOG_LEVEL environment variable when starting the NIM. For example:
docker run -e NIM_LOG_LEVEL=DEBUG
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 offer 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=0to disable telemetry (default)Set
NIM_TELEMETRY_MODE=1to enable telemetry