syntaqxA free workspace's projects send up to 1 GB of observability a month, held a day at a time. OTLP ingest was unmetered and needed no plan, so a free project's token could push 8 MB batches without end into its store at g1t's cost. Each project's store now counts what arrives each UTC day (a usage_days table beside the monthly usage) and remembers its workspace, which the site passes when it shows the project's Observability settings or makes a token. The telemetry worker asks billing, kept ten minutes per isolate, whether that workspace is free; if so its project may send a thirtieth of FREE_TELEMETRY_BYTES_PER_MONTH (1 GiB, a wrangler var; 0 is no cap) a day. Past it, OTLP is answered 429 with the reason until midnight UTC, and Cloudflare's tail events of the project's apps keep their requests, so the charts go on, without their logs. Counted bytes are real: an OTLP body once unzipped, as before, and for tail events the rows as they are kept, where a flat 256-byte guess per request was counted. A project whose workspace is not known yet, or a billing that does not answer, is not capped. The telemetry worker gains a BILLING binding; Settings shows what arrived today; the observability guide says so.7a522b3History
- ..
- deploy
- emoji
- ops
- perf
- build-runner.mjs
- build-rust-worker.mjs
- cli-release.mjs
- cloudflare-setup.py
- conformance-diff.mjs
- deploy.mjs
- deploy.sh
- desktop-release.mjs
- desktop-release.test.mjs
- mobile-release.mjs
- mobile-release.test.mjs
- runner-release.mjs
- runner-release.test.mjs
- sandbox-image.mjs
- sccache.sh
- setup-custom-domains.sh
- setup-deployments.sh