feat: add do11y documentation observability - #375
Conversation
Prevents workflow hangs when steps intermittently freeze: - Lint Go code: 10-minute timeout (normal: 3 seconds) - Bundle UI: 15-minute timeout (normal: 5.5 minutes) Recent pattern: 11 of 30 runs cancelled after 64+ minute hangs. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add Axiom do11y integration for tracking documentation engagement: - Page views and scroll depth - Code block copy events - TOC clicks and navigation - AI referral traffic detection The configuration uses a Netlify edge function proxy to keep the Axiom API token server-side. Requires AXIOM_DO11Y_TOKEN environment variable to be set in Netlify. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
✅ Deploy Preview for docs-ui ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Resolve validate-build.yml conflict in favour of main's restructured Bundle UI step: main moved 'npm ci' into a cached 'Install dependencies' step and set timeout-minutes: 10 on 'gulp bundle', which supersedes this branch's timeout-minutes: 15 on the combined step. Both intents (a step timeout, and npm ci before bundling) are preserved. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Conflicts resolved and the branch is The body describes an "edge function proxy (token stored server-side in Netlify)". The vendored client does not support that shape:
Two other prerequisites, unchanged: the edge function itself ( To make this shippable, pick one: send directly to an allowlisted Axiom host with a token that is public by design (accepting a client-visible ingest token), or keep the proxy and replace the vendored client with one that supports a relative ingest URL — patched fork or a small custom sender. Nothing here is wasted: the event instrumentation (page views, scroll depth, code copy, TOC clicks, AI referrals) is independent of the transport decision. |

Summary
Setup Required
After merging, set these environment variables in Netlify:
AXIOM_DO11Y_TOKEN- Axiom API ingest tokenAXIOM_DO11Y_DATASET- Dataset name (defaults toredpanda-docs-analytics)Related PR
Test plan
/api/do11yendpoint🤖 Generated with Claude Code