Skip to content

docs(runner): document what the Loki browser tenant holds - #385

Merged
demtario merged 1 commit into
masterfrom
docs/o11y-browser-tenant-contents
Sep 29, 2026
Merged

demtario merged 1 commit into
masterfrom
docs/o11y-browser-tenant-contents

Conversation

@demtario

@demtario demtario commented Sep 29, 2026 •

Copy link
Copy Markdown
Member

Context

Two runner docs described the browser telemetry path incorrectly, and one operator-facing fact was missing. run-and-deploy.md said the only demo-runtime Loki line is the Tier-1 compile failure, but emitCollapsedDemoEvent in apps/authoring/src/sentry.ts files every collapsed report as a handled Faro exception, which lands in Loki. observability-contract.md §6 carried a "scope note, not yet fixed" saying lite vitals are still stored, but lite.ts already stores a record only for t:"err" and faro.ts already sets storeRecord = false for measurements and example.* events. This PR fixes both and adds a paragraph on what the Loki browser tenant actually holds, the consequence (a healthy demo produces no Loki lines until something throws, and drain timing means a new error can wait for the next wake), a safe way to force a probe line, and the Explore gotcha that the Analytics Engine ClickHouse datasource needs Format As = Table.

Types of changes

  • New example
  • Update to an existing example
  • README / documentation change
  • Demo runner (runner/) change
  • CI / tooling change

How was this verified?

Docs only. Every statement was checked against the code: apps/authoring/src/sentry.ts (collapsed demo events call telemetry.error), workers/o11y/src/lite.ts (storeRecord = body.t === "err"), workers/o11y/src/normalise/faro.ts (measurement and example.* paths set storeRecord = false; logs and other events store a record), workers/o11y/src/box.ts (sleepAfter = "15m"), workers/o11y/src/index.ts (cron wake at oldest inbox key over 1 h or backlog over 64 MB), and packages/runtime/src/telemetry/inbox.ts (60 s pack interval). The forced-error path to Loki (browser) under {service_name="demos-authoring"} was also observed in production.

Checklist

  • New/renamed example: added to runner/config/frameworks.json (see CONTRIBUTING.md); otherwise it won't appear on demos.handsontable.com
  • New example: added a row to the tables in README.md
  • Ran pnpm build (and pnpm dev) in the affected example/server-example locally

None of the checklist items apply: no example was added, renamed or changed, only two markdown files under runner/docs/.

Related issue(s):

None.


Note

Low Risk
Documentation-only changes under runner/docs/; no runtime, ingest, or deploy behavior is modified.

Overview
Updates runner observability docs so they match current ingest behavior and give operators clearer Grafana guidance.

In observability-contract.md, the stale “lite vitals still store a Loki record” note is replaced: POST /telemetry/lite now documents the same rule as Faro—only t:"err" gets a Loki record; t:"vital" is hash-only for Analytics Engine dedupe.

In run-and-deploy.md, demo-runtime logging is corrected: collapsed preview errors land in Loki via emitCollapsedDemoEvent (handled Faro exceptions with fingerprint-shaped messages), not only Tier-1 compile failures. New sections spell out what the Loki browser tenant contains (exceptions/logs/non-example.* events vs AE-only measurements/metrics/lite vitals), why a healthy demo may show no Loki lines, how to force a probe line, the AE Explore “Format As = Table” gotcha, and wake/drain latency plus cron backlog wake thresholds.

Reviewed by Cursor Bugbot for commit cbba141. Bugbot is set up for automated code reviews on this repo. Configure here.

… notes

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@demtario demtario self-assigned this Sep 29, 2026
@demtario
demtario merged commit 4309985 into master Sep 29, 2026
8 checks passed
@demtario
demtario deleted the docs/o11y-browser-tenant-contents branch September 29, 2026 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant