Reference
Debugging
Find the Rivet Actor behind a Durable Object, read its logs, and check it through the Rivet API.
A Durable Object on OpenOrange is a Rivet Actor, so you debug it with Rivet’s tools: logs, the Rivet dashboard, and the Rivet API.
Quickstart
-
Check the project
orange doctor -
Run with debug logs
RivetKit’s logs print next to your Worker’s output.
orange dev --log-level debug -
Match the symptom
The Debug an object table covers the common cases, such as an object that never sleeps.
Find an object’s actor
Each object is an actor named after its class, such as greeter-5c8cd02c. The Rivet dashboard
lists them, and so does the Rivet API:
curl -H "authorization: Bearer $RIVET_TOKEN" "https://<engine-host>/actors?namespace=<namespace>&name=<actor-name>"
Read the logs
Rivet Cloud shows your runners’ output on the cluster’s Logs page. To add RivetKit’s info logs, deploy with:
orange deploy --var RIVET_LOG_LEVEL:info
Learn more
- Debugging: list, sleep, and destroy actors, and check nodes
- Debugging actors: the gateway endpoints of one actor
AI context Actor names, API calls, and log details
Written for LLMs and coding agents: every edge case, measurement, and known deviation. You do not need it to use the feature.
Object to actor
| Durable Object | Rivet Actor |
|---|---|
| Class | Actor name: the class in kebab case and a short hash, such as greeter-5c8cd02c |
| ID | Actor key |
The Debug an object symptom table also covers an RPC call that is too large.
Rivet API
On Rivet Cloud, the Rivet dashboard lists the actors of your cluster. Anywhere, the Rivet API
lists them. <engine-host>, <namespace>, and the token are the parts of RIVET_ENDPOINT.
These calls list the actor names, list the actors of one name, and check one actor:
curl -H "authorization: Bearer $RIVET_TOKEN" "https://<engine-host>/actors/names?namespace=<namespace>"
curl -H "authorization: Bearer $RIVET_TOKEN" "https://<engine-host>/actors?namespace=<namespace>&name=<actor-name>"
curl -H "authorization: Bearer $RIVET_TOKEN" "https://<engine-host>/gateway/<actor-id>/health"Logs
- Self-hosted, read the container’s output.
- RivetKit’s info logs include the lines that show what keeps an object awake.
- A Rivet error has a ray ID, such as
actor.not_found#<ray id>. Search the logs for it. - For traces and metrics, see OpenTelemetry and Prometheus.