OpenTelemetry
Send sandbox and account metrics, and lifecycle events, to Datadog, Grafana Cloud, Honeycomb or any OTLP collector. froog pushes to one OTLP/HTTP endpoint per account, and nothing is installed in your sandboxes. No traces, no command output.
$ froog telemetry set https://otlp.datadoghq.com -H dd-api-key=$DD_API_KEY
saved. test export accepted; metrics arrive within a minute.
$ froog telemetry # endpoint, header names, last export, last error
$ froog telemetry unset
Give the collector's base URL, and froog adds /v1/metrics and /v1/logs. It must be HTTPS on port 443 or 4318 at a public address. Header values are encrypted and never shown again. Saving sends an empty metrics export and reports the collector's answer. Vendors: Datadog https://otlp.datadoghq.com with dd-api-key, Grafana Cloud's OTLP endpoint with Authorization=Basic <base64 instanceId:token>, and Honeycomb https://api.honeycomb.io with x-honeycomb-team.
| Metric (gauge, every 60 s) | Unit | Meaning |
|---|---|---|
froog.sandbox.cpu.utilization | 1 | Share of CPU time busy since the last sample |
froog.sandbox.memory.utilization · .usage | 1 · By | Memory in use |
froog.sandbox.filesystem.utilization · .usage | 1 · By | Disk in use |
froog.sandbox.io.pressure | 1 | Share of time stalled on disk I/O (PSI, 60 s average) |
froog.account.sandboxes.active · .limit | {sandbox} | Running now · allowed at once |
Each sandbox is a resource with service.name=froog, froog.sandbox.id, froog.sandbox.name, froog.sandbox.size, memory and disk sizes and froog.account.id. Sandboxes with monitoring off send no metrics. To read one sandbox's numbers now, without a collector, use froog metrics. Every webhook event is also an OTLP log record (eventName and event.name, severity ERROR for sandbox.error, WARN for sandbox.degraded, else INFO, froog.sandbox.reason when there is one, with froog.event.id matching the webhook's id). A collector answering 429 or 502-504 gets the same metrics again next minute (up to 10 minutes' worth). Other errors drop that window and show in last error. Events are retried up to 8 times.