Skip to main content
Rime’s API and model services expose separate health endpoints. Check both before sending production traffic.

API container health

The API container serves /health on port 8000:
A ready deployment returns HTTP 200 with apiStatus: "ok" and modelReachable: true:
licenseStatus reads expired-or-not-set until the first authenticated request initializes the license, then valid. This does not affect the health endpoint’s status code.

Model container health

The model container serves /livez and /readyz on port 8080. Use /livez to confirm that the process is running and /readyz to confirm that it can accept inference requests.
A ready model returns ok.

OpenTelemetry metrics

The Rime engine exposes these metrics:
  • rime.engine.concurrent_pipeline
  • rime.engine.generated_audio_duration
  • rime.engine.gpu_load
  • rime.engine.initial_latency
  • rime.engine.invocation_request
  • rime.engine.unicode_scalar_value_count
  • rime.engine.stage.items_in
  • rime.engine.stage.items_out
  • rime.engine.stage.first_output_latency
The rime.engine.stage.* series carry a stage attribute. Set OTEL_COLLECTOR_PROTOCOL to grpc (recommended), http/protobuf, or http/json, and set OTEL_COLLECTOR_ENDPOINT to your collector endpoint:
The model does not set resource attributes. Use OTEL_RESOURCE_ATTRIBUTES to add them. The model also does not implement OpenTelemetry authentication, so run a collector sidecar when the upstream endpoint requires credentials. To expose the OpenTelemetry series for Prometheus, follow the Prometheus integration guide.

Histogram tuning

Metrics that emit histogram data use preconfigured bucket boundaries. Override them with the corresponding HISTOGRAM_BUCKETS_* environment variable. Add a separate suffix with HISTOGRAM_SUFFIX_* when you need to distinguish differently tuned series.

Initial latency

rime.engine.initial_latency is measured in milliseconds. Default bounds:
Example overrides:
The suffix produces rime.engine.initial_latency.tuned_120ms.

Generated audio duration

rime.engine.generated_audio_duration is measured in seconds. Default bounds:
Example overrides:
The suffix produces rime.engine.generated_audio_duration.tuned_3s.