Skip to content

feat(aio): add google adk onboarding docs - #92781

Open
marco-g-pm wants to merge 3 commits into
masterfrom
claude/google-adk-instrumentation-docs-440d4c
Open

feat(aio): add google adk onboarding docs#92781
marco-g-pm wants to merge 3 commits into
masterfrom
claude/google-adk-instrumentation-docs-440d4c

Conversation

@marco-g-pm

Copy link
Copy Markdown
Contributor

Problem

Users instrumenting an agent built on Google's Agent Development Kit (@google/adk) get a PostHog adapter in PostHog/posthog-js#4687 (PostHogADKPlugin, @posthog/ai/adk), but the AI observability onboarding has no Google ADK option, so nothing in the product points them at setup steps.

Changes

  • The AI observability onboarding gains a Google ADK entry (framework tag, Gemini logo) with a four-step page: install, register PostHogADKPlugin on the Runner, run the agent, plugin options.
  • The page routes Python and Go ADK users to the OpenTelemetry integration, since those ADKs emit gen_ai.* spans.
  • The SDKKey value and the instructions-map wiring are mechanical.

Note

Merge after PostHog/posthog-js#4687 and an @posthog/ai release with the /adk submodule: the page documents that API and links its example directory. Companions: PostHog/context-mill#375 (wizard variant), PostHog/wizard-workbench#3711 (fixture), and posthog.com branch marco/google-adk-aio-docs (stub page + nav entry).

How did you test this code?

  • pnpm --filter=@posthog/frontend typescript:check passes on the branch; hogli ci:preflight --fix is clean.
  • Code samples follow the adapter's typed options and the working example in feat(ai): add Google ADK (@google/adk) observability adapter posthog-js#4687.
  • Not run: rendering the onboarding scene. The page uses the same step and CodeBlock components as the existing AI observability pages.

Automatic notifications

  • Publish to changelog?

Docs update

The posthog.com half is on branch marco/google-adk-aio-docs (stub page + nav entry). It can only build after this PR reaches master, because the site clones docs/onboarding/** from master.

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Written by Claude Code from PostHog/posthog-js#4687, mirroring the rollout shape of #91989 (Go OTel docs): onboarding page here, posthog.com stub, context-mill wizard variant, wizard-workbench fixture. Skills invoked: /writing-user-facing-copy, /writing-code-comments, /writing-pr-descriptions. Code samples were checked against the adapter source on the PR branch and the adk-js API; everything committed comes from public repos.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@marco-g-pm marco-g-pm self-assigned this Sep 1, 2026
@trunk-io

trunk-io Bot commented Sep 1, 2026

Copy link
Copy Markdown

🧪 Running tests on this pull request (testing on PR #93755) - details.

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

🤖 CI report

Trunk lane — non-backend lane

This PR is assigned to the non-backend lane. It does not run backend Python tests and may merge in parallel with PRs in other lanes.

Complexity (TypeScript) — clean

Cyclomatic complexity above the limit in changed typescript files (10 for production files, 15 for test files). Warn only: worth simplifying when you next touch these functions.

⚠️ Bundle size — 🔺 +180.6 KiB (+0.3%)

Uncompressed size of every built .js bundle, compared against the base branch.

Total: 68.31 MiB · 🔺 +180.6 KiB (+0.3%)

File Size Δ vs base
exporter/src/exporter/scenes/ExporterNotebookScene.js 3.45 MiB 🔺 +51.5 KiB (+1.5%)
render-query/src/render-query/render-query.js 21.85 MiB 🔺 +28.2 KiB (+0.1%)
posthog-app/_parent/products/tracing/frontend/TracingScene.js 121.0 KiB 🔺 +19.6 KiB (+19.3%)
posthog-app/src/scenes/settings/organization/IdentityProviderConfig/IdentityProviderConfigScene.js 18.6 KiB 🔺 +18.6 KiB (new)
posthog-app/src/scenes/AuthenticatedShell.js 218.5 KiB 🔺 +9.5 KiB (+4.6%)
posthog-app/src/scenes/onboarding/Onboarding.js 810.0 KiB 🔺 +6.5 KiB (+0.8%)
posthog-app/src/scenes/web-analytics/WebAnalyticsScene.js 29.4 KiB 🔺 +6.0 KiB (+25.4%)
exporter/_parent/products/tasks/frontend/components/TaskConnectorsPicker/CyclotronJobInputTaskConnectors.js 7.6 KiB 🔺 +5.8 KiB (+320.1%)
posthog-app/_parent/products/tasks/frontend/components/TaskConnectorsPicker/CyclotronJobInputTaskConnectors.js 7.3 KiB 🔺 +5.2 KiB (+261.2%)
posthog-app/_parent/products/data_warehouse/frontend/scenes/SchemaScene/SchemaScene.js 44.7 KiB 🔺 +4.6 KiB (+11.4%)
posthog-app/_parent/products/engineering_analytics/frontend/scenes/EngineeringAnalyticsScene.js 57.6 KiB 🟢 -4.2 KiB (-6.9%)
posthog-app/_parent/products/data_warehouse/frontend/scenes/SourcesScene/SourcesScene.js 13.6 KiB 🔺 +3.9 KiB (+40.3%)
posthog-app/src/scenes/data-pipelines/batch-exports/BatchExportScene.js 71.5 KiB 🔺 +2.7 KiB (+3.9%)
toolbar/src/toolbar/debug/chunk-EventDebugMenu.js 279.0 KiB 🔺 +2.6 KiB (+1.0%)
posthog-app/src/lib/components/ActivityLog/describers.js 143.3 KiB 🔺 +2.6 KiB (+1.8%)
exporter/src/lib/components/ActivityLog/describers.js 140.3 KiB 🔺 +2.5 KiB (+1.8%)
posthog-app/_parent/products/workflows/frontend/Workflows/WorkflowScene.js 124.2 KiB 🔺 +2.2 KiB (+1.8%)
posthog-app/_parent/products/engineering_analytics/frontend/scenes/EngineeringAnalyticsTeamScene.js 10.4 KiB 🔺 +1.5 KiB (+16.7%)
exporter/_parent/products/workflows/frontend/Workflows/Workflow.js 97.8 KiB 🔺 +1.4 KiB (+1.5%)

Posted automatically by build-bundle-size-report · uncompressed bytes from dist-report

Eager graph — within budget

How much code each root ships on the eager path — downloaded and parsed before the surface is interactive. Measured from the esbuild output chunks (post-tree-shake, static imports only); lazy import() / React.lazy chunks are not counted.

Root Eager (shipped) Δ vs base Budget
entry (logged-out pages, app bootstrap)
src/index.tsx
1.44 MiB · 22 files 🔺 +20.8 KiB (+1.4%) ███░░░░░░░ 32.0% of 4.51 MiB
authenticated shell (every logged-in page)
src/scenes/AuthenticatedShell.tsx
8.88 MiB · 3,262 files 🔺 +33.4 KiB (+0.4%) █████████░ 91.4% of 9.71 MiB

🟢 node_modules/monaco-editor/ stays out of src/index.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 node_modules/monaco-editor/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx

Largest files eagerly shipped from src/index.tsx
Size File
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
24.6 KiB ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js
6.3 KiB ../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js
4.5 KiB ../node_modules/.pnpm/@jspm+core@2.1.0/node_modules/@jspm/core/nodelibs/browser/process.js
3.9 KiB ../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js
1.4 KiB ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js
1.3 KiB src/RootErrorBoundary.tsx
912 B ../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js
789 B src/scenes/ChunkLoadErrorBoundary.tsx
762 B src/index.tsx
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
Size File
307.0 KiB ../node_modules/.pnpm/posthog-js@1.422.5_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/rrweb.js
267.7 KiB ../node_modules/.pnpm/@posthog+icons@0.38.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js
263.5 KiB ../node_modules/.pnpm/posthog-js@1.422.5_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.js
258.4 KiB src/taxonomy/core-filter-definitions-by-group.json
154.2 KiB ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
104.7 KiB src/lib/api.ts
95.2 KiB ../packages/quill/packages/quill/dist/index.js
93.3 KiB ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js
90.6 KiB ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js

Posted automatically by check-eager-graph · sizes are eager output bytes (shipped, post-tree-shake) from the esbuild metafile · part of #32479

Toolbar bundle — eager 2.26 MiB within budget

What the toolbar ships to customer pages, measured from the esbuild output (minified, post-tree-shake). The eager set is the entry plus everything statically imported from it — fetched before any feature runs; deferred chunks load lazily. The eager guardrail is 5.72 MiB. Each output file must also stay below 10 MB, where CloudFront stops compressing it. The module boundary is enforced separately by check-toolbar-graph.

Metric Size Δ vs base Budget
Eager (shipped)
entry + static imports
2.26 MiB · 18 files 🔺 +2.3 KiB (+0.1%) ████░░░░░░ 39.6% of 5.72 MiB
Deferred (lazy) 2.12 MiB · 45 files 🔺 +2.6 KiB (+0.1%) n/a — loads on demand
Loader dist/toolbar.js 1.1 KiB no change █░░░░░░░░░ 5.8% of 19.5 KiB
Largest eagerly-shipped chunks
Size File
753.6 KiB dist/toolbar/toolbar-app-LDA634GX.css
590.5 KiB dist/toolbar/chunk-chunk-CZD7O76W.js
484.7 KiB dist/toolbar/chunk-chunk-66VLQSA2.js
134.1 KiB dist/toolbar/chunk-chunk-OMXQOVAI.js
131.8 KiB dist/toolbar/chunk-chunk-FDH2IBXT.js
71.3 KiB dist/toolbar/toolbar-app-OUQODL5X.js
69.0 KiB dist/toolbar/chunk-chunk-TSAL54PB.js
35.6 KiB dist/toolbar/chunk-chunk-GEAQBWMU.js
21.0 KiB dist/toolbar/chunk-chunk-QMW6W46A.js
6.8 KiB dist/toolbar/chunk-chunk-DV7IWQNF.js

Posted automatically by check-toolbar-size · sizes are toolbar output bytes (shipped, post-tree-shake) from the esbuild metafile

Dist folder size — 🔺 +15.41 MiB (+1.1%)

Total size of the built frontend/dist folder (all assets), compared against the base branch.

Total: 1463.85 MiB · 🔺 +15.41 MiB (+1.1%)

Playwright — all passed

All tests passed.

View test results →

ℹ️ Docs preview — preview build triggered

Docs from this PR will be published at posthog.com.

Project Preview Updated (UTC)
posthog.com Open preview Sep 2, 2026, 6:52 PM

The preview should be ready in about 10 minutes. Open the preview at /handbook/engineering/.

Ports the review feedback from #91989: ADK Go emits message content as
OTel log records, so generations captured via the bridge arrive without
prompts and responses.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@marco-g-pm
marco-g-pm marked this pull request as ready for review September 1, 2026 17:56
@marco-g-pm
marco-g-pm requested a review from a team September 1, 2026 17:56
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

🦔 Hogbox preview · ❌ build failed

The preview didn't come up for commit 9da03d5. See the build log for the failing step. It'll retry on the next push.

Previews are optional and never block merging. A failure here is often a hogland or tailnet hiccup rather than anything in your PR, so the check stays green and this comment is the status.

@pr-assigner-resolver-posthog

Copy link
Copy Markdown

👀 Auto-assigned reviewers

These soft owners were skipped because they only have minor changes here. Nothing blocks merge, so self-assign if you'd like a look:

  • @PostHog/team-growth (frontend/src/scenes/owners.yaml)

Soft owners come from each directory's owners.yaml and each product's product.yaml (resolved nearest-file-wins). The locator after each owner is the file that decided it. Generated files and lockfiles are ignored when deciding ownership.

@greptile-apps

greptile-apps Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Reviews (1): Last reviewed commit: "chore(aio): carry the adk go log-records..." | Re-trigger Greptile

@trunk-io

trunk-io Bot commented Sep 1, 2026

Copy link
Copy Markdown

Static BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

Comment thread docs/onboarding/ai-observability/google-adk.tsx Outdated
Comment thread docs/onboarding/ai-observability/google-adk.tsx Outdated
Comment thread docs/onboarding/ai-observability/google-adk.tsx
Review feedback: the merged plugin hooks run, agent, tool, and model
callbacks, so the page now describes the full hierarchy, registers a
tool in the example, and lists the captured events. Model matches the
linked example (gemini-3.6-flash).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@marco-g-pm

Copy link
Copy Markdown
Contributor Author

/trunk merge

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.

2 participants