fix(tracing): mention the Python SDK in the tracing empty state - #102724
Conversation
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
😎 Merged successfully - details. |
🤖 CI report✅ Trunk lane — non-backend laneThis 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) — cleanCyclomatic 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. ✅ Duplication (Python) — cleanNew Python code duplication introduced by this branch. Fails at 70+ tokens in app code, or 150+ tokens when both copies live in test files. Advisory while the gate proves itself: extract a shared helper instead of copying. ✅ Duplication (TypeScript) — cleanNew TypeScript code duplication introduced by this branch. Fails at 70+ tokens in app code, or 150+ tokens when both copies live in test files. Advisory while the gate proves itself: extract a shared helper instead of copying.
|
| File | Size | Δ vs base |
|---|---|---|
render-query/src/render-query/render-query.js |
21.76 MiB | 🔺 +14.8 KiB (+0.1%) |
posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingFingerprintsScene/ErrorTrackingIssueFingerprintsScene.js |
removed | 🟢 -10.9 KiB (-100.0%) |
posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingIssueScene/ErrorTrackingIssueScene.js |
89.4 KiB | 🔺 +9.6 KiB (+12.1%) |
posthog-app/_parent/products/ai_observability/frontend/prompts/LLMPromptScene.js |
52.9 KiB | 🔺 +4.2 KiB (+8.6%) |
posthog-app/_parent/products/engineering_analytics/frontend/scenes/PullRequestDetailScene.js |
28.7 KiB | 🔺 +1.8 KiB (+6.6%) |
posthog-app/_parent/products/replay_vision/frontend/observations/ReplayObservation.js |
25.9 KiB | 🟢 -1.7 KiB (-6.1%) |
posthog-app/src/scenes/experiments/SharedMetrics/SharedMetric.js |
20.0 KiB | 🔺 +1.6 KiB (+9.0%) |
posthog-app/src/scenes/experiments/Experiment.js |
285.4 KiB | 🔺 +1.5 KiB (+0.5%) |
posthog-app/src/scenes/data-pipelines/batch-exports/BatchExportScene.js |
72.7 KiB | 🔺 +1.4 KiB (+2.0%) |
exporter/src/queries/schema.js |
1.21 MiB | 🔺 +1.4 KiB (+0.1%) |
posthog-app/src/queries/schema.js |
1.21 MiB | 🔺 +1.4 KiB (+0.1%) |
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.55 MiB · 22 files | 🔺 +2.2 KiB (+0.1%) | ████████░░ 84.3% of 1.84 MiB |
logged-out boot: index + App + bootApp (preloaded by every page, including /login)src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts |
3.55 MiB · 629 files | 🔺 +4.1 KiB (+0.1%) | █████████░ 88.0% of 4.03 MiB |
authenticated shell (every logged-in page)src/scenes/AuthenticatedShell.tsx |
8.37 MiB · 2,759 files | 🔺 +10.9 KiB (+0.1%) | █████████░ 88.0% of 9.51 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/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/layout/navigation-3000/navigationLogic.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/scenes/dashboard/dashboardLogic.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/lemon-ui/LemonMarkdown/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/components/RichContentEditor/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/components/CodeSnippet/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/taxonomy/core-filter-definitions-by-group.json stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 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
🟢 src/scenes/session-recordings/player/sessionRecordingPlayerLogic.ts 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/index.tsx |
| 1.3 KiB | src/RootErrorBoundary.tsx |
| 912 B | ../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js |
| 854 B | src/scenes/ChunkLoadErrorBoundary.tsx |
Largest files eagerly shipped from src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
| Size | File |
|---|---|
| 300.9 KiB | ../node_modules/.pnpm/posthog-js@1.433.9_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 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 |
| 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.3 KiB | src/lib/api.ts |
| 81.8 KiB | src/products.tsx |
| 68.5 KiB | src/lib/lemon-ui/icons/icons.tsx |
| 62.5 KiB | src/lib/utils/eventUsageLogic.ts |
| 38.8 KiB | ../node_modules/.pnpm/@dnd-kit+core@6.0.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dnd-kit/core/dist/core.esm.js |
| 33.9 KiB | ../node_modules/.pnpm/kea@4.0.0-pre.6_patch_hash=139b8d1f1304f9d9da452a9a1244c94ea679dbcb85687d8999563146879fb6f5_react@18.3.1/node_modules/kea/lib/index.cjs.js |
| 28.2 KiB | src/scenes/scenes.ts |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
| Size | File |
|---|---|
| 300.9 KiB | ../node_modules/.pnpm/posthog-js@1.433.9_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 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 |
| 265.0 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 153.8 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.3 KiB | src/lib/api.ts |
| 98.4 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 |
| 81.8 KiB | src/products.tsx |
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.35 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.35 MiB · 18 files | 🔺 +2.3 KiB (+0.1%) | ████░░░░░░ 41.0% of 5.72 MiB |
| Deferred (lazy) | 2.09 MiB · 45 files | no change | n/a — loads on demand |
Loader dist/toolbar.js |
1.2 KiB | no change | █░░░░░░░░░ 6.0% of 19.5 KiB |
Largest eagerly-shipped chunks
| Size | File |
|---|---|
| 779.5 KiB | dist/toolbar/toolbar-app-UBS5PDJU.css |
| 648.2 KiB | dist/toolbar/chunk-chunk-CNDADS33.js |
| 483.5 KiB | dist/toolbar/chunk-chunk-WTPISITN.js |
| 136.2 KiB | dist/toolbar/chunk-chunk-TGQG2RM6.js |
| 131.8 KiB | dist/toolbar/chunk-chunk-FDH2IBXT.js |
| 72.4 KiB | dist/toolbar/toolbar-app-Z422OELO.js |
| 69.0 KiB | dist/toolbar/chunk-chunk-TSAL54PB.js |
| 35.6 KiB | dist/toolbar/chunk-chunk-OHWSEO4L.js |
| 21.0 KiB | dist/toolbar/chunk-chunk-RGVKSYMF.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 — 🟢 -2.14 MiB (-0.1%)
Total size of the built frontend/dist folder (all assets), compared against the base branch.
Total: 1503.88 MiB · 🟢 -2.14 MiB (-0.1%)
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: QUIET Plan: Enterprise Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 12 included reviews per hour; 1 remains after this review. 📝 WalkthroughWalkthroughThe tracing setup empty-state lead now mentions the PostHog Python SDK alongside the PostHog Node.js SDK and OTLP-compatible clients. The dark and light story snapshot hashes were updated. Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to The copy is reachable and aligns with the documented OpenTelemetry-based Python tracing setup. The snapshot-only update introduces no established production risk. 🚥 Pre-merge checks | ✅ 1✅ Passed checks (1 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
The copy-only change appears safe to merge after the stated Python SDK release. Reviews (1) · Last reviewed commit: "fix(tracing): mention the Python SDK in ..." |
🦔 Hogbox preview · ✅ ready▶ Open the preview
commit |
|
✅ Visual changes approved by @turnipdabeets — baseline updated in 2 changed. |
2 updated Run: d66d07e7-8c99-4976-a9c4-1a5d73bdeeca Co-authored-by: turnipdabeets <11654201+turnipdabeets@users.noreply.github.com>
Problem
The tracing empty state names the Node.js SDK as the only PostHog SDK that sends spans.
posthogfor Python gains the same native span API in PostHog/posthog-python#957, so Python users would be pointed at OpenTelemetry only.Changes
needs-setuplead reads "Node.js or Python SDK" instead of "Node.js SDK". Copy only; the visual-review bot updatesfrontend/snapshots.yml.Merge after the
posthogPython release that ships the span API (7.58.0, queued from the merged tracing stack).How did you test this code?
Copy-only change; no tests run locally. CI's storybook snapshot covers the rendered text.
Automatic notifications
Docs update
Docs are written by hand in PostHog/posthog.com#20285, so this PR carries the
skip-inkeep-docslabel.🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Agent: Claude Code, Opus 5
Part of the docs set for the posthog-python tracing release, following the Node.js precedent in #99441. Companions: posthog.com#20285 and a context-mill tracing-skill PR. Duplicate search (
gh pr list --search "tracing empty state") found no other PR changing this copy. #98841 edits the same file'sdocsUrlline, a separate hunk.🤖 Generated with Claude Code