Repository navigation
test: enable app-hang tracking only in the App Hang integration test - #2899
Draft
bitsandfoxes wants to merge 1 commit into
Draft
bitsandfoxes wants to merge 1 commit into
bitsandfoxes wants to merge 1 commit into
Conversation
bitsandfoxes
force-pushed
the
ci/crash-capture-filter
branch
from
October 25, 2026 08:07
fb38f48 to
c94361d
Compare
bitsandfoxes
force-pushed
the
chore/ci-fail-fast
branch
from
October 26, 2026 02:53
29d8750 to
aefa02c
Compare
bitsandfoxes
force-pushed
the
ci/crash-capture-filter
branch
from
October 26, 2026 03:26
c94361d to
848f8eb
Compare
bitsandfoxes
force-pushed
the
ci/crash-capture-filter
branch
from
October 29, 2026 11:09
848f8eb to
fd9f58a
Compare
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.
The integration test app now enables app-hang tracking only when it runs the App Hang test, so a slow device can no longer send a hang event during the other tests.
Before, the test app enabled app-hang tracking with a 2 s timeout for every test. On a slow simulator, sentry-cocoa reported an
App Hang Non Fully Blockedevent (mechanism.type = AppHang, levelerror) about a second before the forced crash. The crash tag was already on the scope by then, so Sentry got two events for the tag. The Crash Capture lookup expects exactly one: it polled for the full 300 s and failed with "Expected 1, but got 2", and the job had to be rerun. In 30 days, Sentry received 15 of these hang events tagged with a crash ID, all from iOS. This was the most common test flake in the CI analysis: 13 failed Run iOS jobs in the window that still has logs.How it works:
IntegrationOptionsConfigurationsetsEnableAppHangTrackingonly when the test argument isapp-hang-capture. It reads the argument throughIntegrationTester.GetTestArg, nowinternal, the same per-platform readerStartuses (iOS Objective-C helper, Android intent extra, desktop command line, WebGL query string; null in the Editor).setEnableNdkAppHangTracking), sentry-cocoa and sentry-native all read it at SDK init. The build-time manifest and native options values aren't used.An earlier version of this PR filtered the hang event out of the lookup with a new
-Filteron app-runner'sGet-SentryTestEvent(getsentry/app-runner#63). That PR is closed. Stopping the hang event from being sent removes the cause on every platform, and themodules/app-runnerpin stays wheremainhas it.CI: run 40863159412 on this head.
🤖 Generated with Claude Code