Skip to content

feat: add Android frame health perf metrics#474

Merged
thymikee merged 1 commit intomainfrom
codex/android-frame-health-perf
Apr 29, 2026
Merged

feat: add Android frame health perf metrics#474
thymikee merged 1 commit intomainfrom
codex/android-frame-health-perf

Conversation

@thymikee
Copy link
Copy Markdown
Contributor

@thymikee thymikee commented Apr 29, 2026

Summary

Add Android frame-health sampling to perf using dumpsys gfxinfo ... framestats, with dropped-frame percentage, sample timing, worst dropped-frame windows, and related session actions for correlation.

Keep the default perf output token-efficient while preserving the richer JSON payload for remote and local users. Android prints frame health when available; Apple and other targets without frame data now print a compact CPU/memory summary instead of misleading FPS placeholder text.

Android URL/deep-link opens now infer the foreground package after launch when no package context exists, so Expo Go/dev-client URL sessions can remain package-bound for logs/perf when Android exposes the foreground package.

Apple frame-health support is tracked separately in #475. Remote websocket-only Android ADB executor support is tracked in #476.

Touched files: 17. Scope stayed within the perf/open command families plus related docs/tests.

Validation

  • pnpm format
  • pnpm check:fallow --base origin/main
  • pnpm exec vitest run src/daemon/handlers/__tests__/session-perf.test.ts src/daemon/handlers/__tests__/session-open-target.test.ts src/platforms/android/__tests__/perf.test.ts src/__tests__/cli-perf.test.ts src/utils/__tests__/args.test.ts
  • pnpm typecheck
  • pnpm lint
  • pnpm exec vitest run src/__tests__/client-metro-packaged.test.ts
  • pnpm test:smoke
  • Manual Android Expo test app run on Pixel 9 Pro XL emulator using node bin/agent-device.mjs open host.exp.exponent, Expo URL open, snapshot -i, perf, and perf --json

Known note: full pnpm check:unit repeatedly hit the existing packaged Metro smoke status-null timeout in src/__tests__/client-metro-packaged.test.ts during aggregate runs. The same test passed in isolation, and smoke tests passed separately.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 29, 2026

PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://callstackincubator.github.io/agent-device/pr-preview/pr-474/

Built to branch gh-pages at 2026-04-29 20:53 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@thymikee thymikee force-pushed the codex/android-frame-health-perf branch 2 times, most recently from 28b48ba to d5a10e6 Compare April 29, 2026 20:05
@thymikee thymikee force-pushed the codex/android-frame-health-perf branch from d5a10e6 to 7bbadb3 Compare April 29, 2026 20:28
@thymikee thymikee force-pushed the codex/android-frame-health-perf branch from 7bbadb3 to dfed685 Compare April 29, 2026 20:49
@thymikee thymikee force-pushed the codex/android-frame-health-perf branch from dfed685 to e2cc0af Compare April 29, 2026 20:52
@thymikee thymikee merged commit 0c7e48d into main Apr 29, 2026
18 checks passed
@thymikee thymikee deleted the codex/android-frame-health-perf branch April 29, 2026 20:56
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