Daytona Sandbox Monitoring & Tracing with OpenTelemetry Daytona, the AI code execution platform, has published a guide for monitoring AI-generated code running in its sandboxes using OpenTelemetry and SigNoz, detailing four non-overlapping telemetry paths: in-sandbox app instrumentation, Daytona's built-in per-sandbox CPU/memory/disk metrics, organization quota metrics, and SDK tracing for lifecycle calls. The guide instructs users to configure a domain allow list and environment variables to route telemetry to SigNoz, with prerequisites including Python 3.10+, a Daytona API key with write:sandboxes permission, and a plan that allows per-sandbox network rules. Overview Daytona https://www.daytona.io/ runs AI-generated code in isolated sandboxes. Your agent creates a sandbox, executes code in it, reads files back, and tears it down. Two things go wrong in that loop, and each needs its own telemetry: the work inside the sandbox fails or hangs, and the sandbox lifecycle itself gets slow or errors out. Prerequisites - An instance of SigNoz either Cloud https://signoz.io/teams/ or Self-Hosted https://signoz.io/docs/install/self-host/ - A Daytona account and an API key with write:sandboxes permission - Python 3.10 or later, with the daytona SDK installed. The SDK requires 3.10. - A Daytona plan that allows per-sandbox network rules. Tier 1 and Tier 2 accounts cannot override the default egress policy, which blocks SigNoz. See Network Limits https://www.daytona.io/docs/en/network-limits/ . How it works Daytona exposes four OpenTelemetry paths. They do not overlap, so pick the ones that answer your question. | Path | What you get | What it costs you | |---|---|---| | App instrumentation inside the sandbox | Spans, logs, and custom metrics from the code your agent runs | Code you write and ship into the sandbox | | Daytona's built-in telemetry | Per-sandbox CPU, memory, and disk, plus toolbox API spans | One dashboard setting | | Organization quota metrics | CPU, memory, storage, and GPU used against your org quota | The same dashboard setting | | SDK tracing | Latency and failures for create , start , stop , delete , file, and process calls | One flag on the client | Start with the first path. It shows what your agent did inside the sandbox, which nothing else reconstructs. The rest are collapsed below; expand them when you need them. All four use OpenTelemetry https://opentelemetry.io/ and export to the same SigNoz endpoint. Monitor Work Inside a Daytona Sandbox This path shows what your agent did: which steps ran, how long each took, what it logged, and where it failed. Step 1: Allow SigNoz through the sandbox firewall Sandbox egress is deny-by-default. Package registries stay reachable and Daytona blocks the rest, so an OTLP exporter fails with a TLS reset until you allow the ingestion host. Pass domain allow list when you create the sandbox: run agent.py python import asyncio from daytona import AsyncDaytona, DaytonaConfig, CreateSandboxFromSnapshotParams async def main : async with AsyncDaytona DaytonaConfig api key="