Yoke.sh
Deployment

Observability

Prometheus metrics, health checks, and operational monitoring for Yoke runtimes.

Yoke exposes Prometheus text format metrics and a simple health endpoint on the portal HTTP server.

Endpoints

EndpointResponse
GET /healthok — runtime booted and serving
GET /metricsPrometheus exposition format

Both are served on the executor portal port (default 8080), alongside user-defined portal routes.

Control plane (port 8090) may expose separate health depending on deployment — check your control-plane configuration.

Metrics

MetricTypeLabelsDescription
yoke_stream_appends_totalcounterStream append operations
yoke_fanout_enqueues_totalcounterEvents enqueued via fan-out
yoke_actor_process_totalcounterprocess() invocations
yoke_actor_process_errors_totalcounterFailed process() calls
yoke_queue_dead_letters_totalcounterDead-lettered events
yoke_queue_depthgaugeinstance_idPer-instance queue depth
yoke_runtime_workersgaugeWorkers with recent heartbeat

Prometheus scrape config

scrape_configs:
  - job_name: yoke
    static_configs:
      - targets: ["localhost:8080"]
    metrics_path: /metrics

Alerting suggestions

SignalThreshold ideaMeaning
yoke_queue_depthSustained high per instanceBacklogged actor — scale concurrency or split instances
yoke_actor_process_errors_total rateSpikePoison messages or code bugs
yoke_queue_dead_letters_total> 0Events gave up retrying
yoke_runtime_workers< expectedWorker crash or network partition
/health downBoot failure or process crash

Logging

Runtime logs to stderr:

  • Boot sequence steps and failures
  • Deno worker load errors
  • process() uncaught exceptions (before requeue)
  • Portal start() loop errors
  • Scheduler claim/dispatch (debug level)

Structured logging integration is deployment-specific — wrap the binary with your log collector.

Tracing

Correlation ids on events (ctx.correlation) enable cross-event tracing in external systems. Propagate correlation through ctx.append() chains and log it in process() handlers.

Stream seq provides global ordering for post-hoc debugging.

Multi-tenant monitoring

Per-tenant metrics require label filtering at scrape time or separate executor endpoints per tenant. Control plane scheduler metrics (pending tenants, active sandboxes) are deployment-specific.

On this page