Observability for NVIDIA NIM for Object Detection#

Use this documentation to learn about observability for NVIDIA NIM for Object Detection.

Health#

Use the health endpoints to check liveness and readiness.

curl "http://localhost:8000/v1/health/live"
curl "http://localhost:8000/v1/health/ready"

Readiness returns ready: true after the loaded runtime is ready.

Docker Health Status#

The container image includes a Docker health check that uses /v1/health/ready. The health check uses the port configured in NIM_SERVER_BIND_ADDR and automatically uses HTTPS when NIM_SERVER_TLS_CERT_PATH is set.

Use the following command to inspect the container health status:

docker inspect --format '{{json .State.Health}}' "$CONTAINER_NAME"

Docker reports the container as healthy after the readiness endpoint responds successfully.

Metrics#

Object Detection NIM exposes Prometheus metrics at /v1/metrics.

curl "http://localhost:8000/v1/metrics"

For Prometheus, set metrics_path to /v1/metrics.

scrape_configs:
  - job_name: object-detection-nim
    metrics_path: /v1/metrics
    static_configs:
      - targets: ["localhost:8000"]

Metrics include request counters and latency summaries.

Logs#

Use RUST_LOG to configure the tracing log filter and LOG_FORMAT to choose the log format.

docker run ... \
  -e RUST_LOG=info \
  -e LOG_FORMAT=json \
  $IMG_NAME

Supported LOG_FORMAT values are pretty, json, and compact.

Timing and VRAM Telemetry#

For troubleshooting, enable timing or VRAM telemetry with the following variables.

docker run ... \
  -e NIM_PIPELINE_TIMING_TELEMETRY=1 \
  -e NIM_PIPELINE_VRAM_TELEMETRY=1 \
  $IMG_NAME

These variables are intended for diagnostics and can add log volume.