Runtime Cockpit
The dashboard cockpit is the browser surface for the deployed app. It mirrors the CLI inspection and recovery loop without exposing unsafe BEAM internals.
Open the dashboard URL from your invitation, sign in, and select an app from
/dashboard. The app cockpit is under /dashboard/apps/<app-id>.
Cockpit Surfaces
Section titled “Cockpit Surfaces”The cockpit shows:
- App URL, active deployment, latest deployment, and deploy state.
- Deployment history and selected deployment detail.
- Build logs.
- Runtime logs.
- Env var key metadata and set/delete forms.
- Secret key metadata and write-only set/delete forms.
- Eligible rollback targets and rollback action.
- Latest safe BEAM runtime snapshot.
- Top mailbox queues from the latest sample.
- Recent snapshot trend.
- Snapshot-unavailable warnings.
- Drain and shutdown state when a previous runtime is still draining or cleaning up.
Safe Runtime Snapshot Fields
Section titled “Safe Runtime Snapshot Fields”Snapshots may include only:
- Sample time.
- Opaque node label.
- Uptime.
- Process count.
- Total reductions.
- Reductions per second when two consecutive samples from the same runtime prove the rate.
- Total BEAM memory and selected memory buckets.
- Run queue.
- Top mailbox queues by message count.
Top mailbox entries may include only:
- A stable-within-runtime opaque process label.
- A registered name when it passes the safe-name filter.
- Message queue length.
- Reductions.
- Memory estimate.
What BeamUp Does Not Expose
Section titled “What BeamUp Does Not Expose”The cockpit does not expose:
- Message contents.
- Request bodies, headers, cookies, or user payloads.
- Process dictionaries.
- Stack traces or arbitrary backtraces.
- ETS or Mnesia table names or contents.
- Trace output.
- Process kill, suspend, resume, or other control actions.
- Remote shell, Observer, or arbitrary RPC.
- Erlang cookie values, provider credentials, env values, or secrets.
Runtime snapshots are read-only operational samples, not remote Observer.
Cadence, Retention, And Trends
Section titled “Cadence, Retention, And Trends”Managed runtimes sample every 10 seconds. Each in-VM sample has a 500 ms timeout.
If sampling times out, BeamUp records a safe sampling_timeout warning and backs
off to 60 seconds. Sampling failure does not make an otherwise healthy app
unhealthy.
Recent samples are retained for 6 hours with a hard cap of 2,160 rows per runtime instance.
Anonymous process labels are stable only for the life of one runtime instance. They intentionally change after restart and never expose the raw PID or distributed-node address.
reductions_per_second is unavailable across restarts, counter resets, missing
samples, or warnings. BeamUp does not join unrelated runtime series or fabricate
a rate across a reset.
Overhead Budget
Section titled “Overhead Budget”The collector budget is:
- At most 5 ms of BEAM scheduler runtime per sample on average.
- At most 2 MiB for the temporary collector process.
- At most 64 KiB per allowlisted sample.
- At the 10-second cadence, at most 0.05% of one scheduler.
The 2026-06-28 local benchmark passed this budget for the golden-path runtime and a mailbox-heavy fixture. This is the documented overhead budget, not a capacity or pricing claim.
Unavailable Snapshots
Section titled “Unavailable Snapshots”Snapshot-unavailable warnings mean the cockpit could not collect or read a safe sample. They do not by themselves mean the app is unhealthy. Use app status, health, runtime logs, and deploy state to diagnose the app.
