Skip to content

docs: frontend tracing guides + maple-frontend-tracing skill - #1114

Draft
JeremyFunk wants to merge 29 commits into
mainfrom
feat/frontend-observability-guide
Draft

JeremyFunk wants to merge 29 commits into
mainfrom
feat/frontend-observability-guide

Conversation

@JeremyFunk

@JeremyFunk JeremyFunk commented Sep 28, 2026 •

Copy link
Copy Markdown
Collaborator

Frontend tracing docs and agent skill, structured like the backend instrumentation guides.

Docs (new "Frontend" group in the Instrumentation section)

  • /docs/frontend: overview with a trace figure, framework cards, agent quick-setup prompt, what you get, why browser tracing differs
  • /docs/frontend/{tanstack,react-router,nextjs,vue,sveltekit,angular,astro,other}: self-contained guides built on the SDK's framework integrations (@maple-dev/browser/<framework> + /server), plus limits and FAQ
  • Framework cards on /docs/instrumentation; brand marks for the frameworks; sidebar icons via a new optional icon frontmatter field

Skill: skills/maple-frontend-tracing/

  • SKILL.md (framework-agnostic steps, detection table, verify checks for span shapes and error counts), frameworks/*.md (one per framework + other.md)
  • Linked from maple-onboard, maple-nextjs-style (exporter snippet fixed for @vercel/otel 2.x) and the AI agents docs page

Depends on the SDK PRs #1128 (server helpers + Next.js), #1129 TanStack, #1130 React Router, #1131 Vue/Nuxt, #1132 SvelteKit, #1133 Angular, #1134 Astro, and a release: the guides say @maple-dev/browser 0.10.0 or later (placeholder until the version is cut). Merge after the release.

Verification

  • Each framework was validated end to end (sample app, local OTLP sink, cross-origin test API, Playwright, 18 heuristics) against the skill, first with the hand-written helper and again with the SDK integrations
  • Every snippet typechecks against the packed build of its SDK branch
  • All pages render, internal links and anchors resolve

@coderabbitai

coderabbitai Bot commented Sep 28, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@JeremyFunk JeremyFunk changed the title docs(blog): frontend tracing guide docs(blog): frontend tracing guide series + maple-frontend-tracing skill Sep 28, 2026
@JeremyFunk JeremyFunk changed the title docs(blog): frontend tracing guide series + maple-frontend-tracing skill docs: frontend tracing guides + maple-frontend-tracing skill Sep 28, 2026
…stead of copied glue

The guides no longer have customers copy tracing.ts or router glue. Next.js,
TanStack, React Router, Vue/Nuxt and SvelteKit use their @maple-dev/browser
entries; the generic guide calls MapleBrowser.startNavigation/endNavigation/
traced and serverTiming() directly. Behavior notes and known limits follow the
SDK: interrupted navigations, React Router version floors, dedupe inside
captureException. Requires @maple-dev/browser 0.10.0.
Steps 4-6 point at the framework entry from each reference, or MapleBrowser.*
for other frameworks, and serverTiming() for SSR. The references list the
imports, where they go, what stays manual, known limits and checks. Angular and
Astro still copy tracing.ts until their entries land.
provideMapleTracing, tracedResolver, MapleErrorHandler and reportAngularError
replace the copied router glue and helper, and tracedRender from
@maple-dev/browser/angular/server wraps the SSR render. Folds in the entry's
behavior: redirects to the URL on screen, interrupted same-URL clicks, and its
known limits (matcher routes, failed navigations not marked Error, zone.js
stability after resolvers, CDN-cached HTML).
The integration writes data-route and traces page loads, ClientRouter
navigations and island load errors, and its middleware adds the ssr span and
Server-Timing, skipping cacheable responses. The layout keeps only the init
script. Covers wiring by hand and the known limits: Astro 5+, mid-stream errors,
<html> within 16 KiB, the SDK chunk on every page, rewrites.
…n FAQ headings

The overview names Angular and Astro among the frameworks with an SDK
integration, and the generic guide no longer lists Astro as a framework without
a guide.
Removes tracing.ts: no reference copies it any more. Angular uses
@maple-dev/browser/angular and /angular/server, Astro the maple() integration
(or its middleware and client entries by hand).

This branch has not been deployed

No deployments
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