Skip to main content

SQL Introspection API

This page contains the reference of the introspection tables. To learn how to access the introspection interface, check out the introspection documentation.

Table: sys_deployment

Registered deployments. A deployment is a version of your service(s) code that Restate calls.

Table: sys_inbox

Invocations queued for a Virtual Object or Workflow key. Only one invocation runs at a time per key; the others wait here, ordered by sequence_number.

Table: sys_journal

Journal entries of invocations. The journal records the steps an invocation took (calls, sleeps, state access, promises, …), one row per entry, ordered by index.

Table: sys_journal_events

Events that happened during an invocation’s execution. Events are transient errors, pauses and suspensions. They are not journal entries; use after_journal_entry_index to place them between them.

Table: sys_locks

Locks currently held on Virtual Object keys. One row per lock, with when it was acquired and the invocation (or other operation) holding it.

Table: sys_promise

Durable promises of Workflows. One row per promise of a workflow instance, with its completion value or failure once completed.

Table: sys_rules

Rules that limit concurrency. Each rule matches invocations by pattern and can cap how many of them run at the same time.

Table: sys_scheduler

Scheduler state of each vqueue. Shows whether a vqueue is dormant, blocked or scheduled, what its head entry is waiting on, and how long it waited on each resource.

Table: sys_service

Registered services. One row per service, with its type, whether it is public, and the latest deployment serving it.

Table: state

State of Virtual Objects and Workflows. One row per state key of each Virtual Object or Workflow instance.

Table: sys_user_limits

Counters of the concurrency limits set by rules. One row per counter, with its current usage, its limit, the rule defining it and how many vqueues are waiting on it.

Table: sys_vqueue_entry_status

Status of every vqueue entry. One row per entry (an invocation or a state mutation), with its stage, its attempts and how long it was blocked on each resource.

Table: sys_vqueue_meta

Metadata and statistics of each vqueue. Number of entries per stage, latest activity timestamps, and moving averages of wait, run and blocking times.

Table: sys_vqueues

Entries of each vqueue, by stage. One row per entry in a vqueue stage (inbox, running, paused, suspended or finished).

Table: sys_invocation

All invocations, whatever their status. One row per invocation, with its target and caller, lifecycle timestamps, and the retry and failure details of the current attempt.