Watching it
/healthz says the process is up. /readyz says it can do its work: the
database answers and has the schema this binary needs. /metrics is Prometheus:
executions by status and how long they took, the time spent in each step type,
how many executions are queued, running or waiting and how long the oldest has
waited, webhook latency, OAuth refresh failures and which triggers hold a
connection. They share the main address, or have an address of their own with
HOTLOOP_CASCADE_OPS_LISTEN (a worker has no other address, and uses :8081).
HOTLOOP_CASCADE_METRICS_TOKEN makes /metrics want a bearer token.
Every execution is one OpenTelemetry trace with a span for each step. Name an
OTLP endpoint with the standard variables (OTEL_EXPORTER_OTLP_ENDPOINT and its
family) and spans are sent there; with none named nothing is sent. The trace id
is the execution’s id, or the trace of the caller when a webhook arrives with a
traceparent, and the HTTP step sends one on to what it calls.