Repository navigation
Keep opt-in iPhone performance capture running across tabs - #2758
Open
AlexSchmidt1999 wants to merge 5 commits into
Open
AlexSchmidt1999 wants to merge 5 commits into
AlexSchmidt1999 wants to merge 5 commits into
Conversation
AlexSchmidt1999
marked this pull request as ready for review
October 10, 2026 12:47
…eam-performance-capture-oct10
Author
|
I am using NOOP 12.1.0 Release build 456 on my iPhone 17 Pro Max, and the app runs very smoothly in everyday use. This PR is included in that combined build, together with my other Apple changes and the performance fixes from #2724 by @UtkuDenizAltiok and #2705 by @kavemang. The installed source is d67cceb5. Both Apple builds and the local app, analytics, database and Python test suites passed for this combined build. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
Display & Performance capture stops when Test Centre leaves the screen, missing normal Today and Trends use. On iPhone, the existing monitor now follows the app's foreground lifecycle while the mode is enabled. It stops in the background or when the mode is disabled.
Bounded summaries record the tab, build, actual display cadence, CPU, memory, thermal state, and sync state. A separate rotating local archive protects them from verbose strap logs and joins the existing redacted test export. Capture stays off by default and sends nothing over the network. macOS keeps its screen-scoped capture.
The late-callback count accounts for adaptive refresh cadence. The existing 33 ms threshold remains a separate statistic.
Type of change
How it was tested
Tests cover foreground/background transitions, tab windows, disabled capture, delayed data-volume reads, cadence changes, and percentile calculation. Raw user captures are excluded.
The focused macOS tests and iOS Release build passed on this PR head. Source hygiene and iOS translation checks passed too.
Checklist
iPhone follow-up, October 16
Performance capture is working during ordinary Today use. The retrieved archive includes summaries from both the previous fixed version and the latest merged installation, recorded outside Test Centre.
The anonymized Today measurements from the combined fixes record 1 late callback out of 3,873 (0.026%) over 64.71 seconds, compared with 0.536% over 860.79 seconds before the day-cycle scheduling change. The worst callback interval falls from 159.6 to 63.4 ms. The latest merged installation adds a 6.29-second sample with zero intervals over 33 ms. The report includes the callback counts and source revisions. Raw archives and personal data stay local.
Installed-source update, October 16
The summaries now include independent workout and Lift Log phases (
none,active,paused). Phase changes flush the current window, and each foreground start reads the current sessions. This update includes the durable pause contracts in #2759. Review the capture changes above that dependency.Review head:
34fcc5a240fe. A local merge of the PRs reproduces the installed iPhone commitf88a1e12: 1,182 of 1,183 Apple product files are byte-identical; the remaining file uses the existingNoopMetrics.space3token for the same 12-point spacing. The combined macOS build and iPhone Release build pass, including widgets and Watch components. The macOS run completes 2,352 app tests with three skipped and zero failures.