feat(sauce): Filter Android logcat by given tags - #53
Merged
Conversation
limbonaut
marked this pull request as ready for review
July 8, 2026 12:22
Collaborator
Author
|
Integration branch where it works: getsentry/sentry-godot#804 |
JoshuaMoelans
approved these changes
Jul 8, 2026
tustanivsky
approved these changes
Jul 8, 2026
tustanivsky
left a comment
Collaborator
There was a problem hiding this comment.
Nice! I think Unreal could benefit from having this integrated as well.
tustanivsky
added a commit
to getsentry/sentry-unreal
that referenced
this pull request
Jul 26, 2026
The crash-capture test intermittently fails with "Expected 1 EVENT_CAPTURED line(s) but found 0": real SauceLabs devices emit thousands of unrelated log lines per second (AuthPII alone was ~8k of the ~10k captured lines), evicting UE's output from the captured log window before the harness reads it. Use app-runner's SAUCE_LOGCAT_FILTER (getsentry/app-runner#53, already in the pinned revision) to filter at capture time. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
tustanivsky
added a commit
to getsentry/sentry-unreal
that referenced
this pull request
Jul 27, 2026
The crash-capture test intermittently fails with "Expected 1 EVENT_CAPTURED line(s) but found 0": real SauceLabs devices emit thousands of unrelated log lines per second (AuthPII alone was ~8k of the ~10k captured lines), evicting UE's output from the captured log window before the harness reads it. Use app-runner's SAUCE_LOGCAT_FILTER (getsentry/app-runner#53, already in the pinned revision) to filter at capture time.
tustanivsky
added a commit
to getsentry/sentry-unreal
that referenced
this pull request
Jul 28, 2026
* Harden integration-test crash uploads in CI The desktop crash test can be flaky because both desktop backends can race the upload on shutdown: crashpad uploads out-of-process while the crashing process is already exiting, and the native out-of-process daemon drains its transport bounded by ShutdownTimeout (default 5000ms), which can be too short for a large envelope or slow link (the same root cause seen dropping crashes on the Xbox native backend). Non-crash tests upload via the SDK transport on sentry_close and hit the same limit. Raise ShutdownTimeout so the native daemon's crash upload and async event uploads have time to drain, and enable CrashpadWaitForUpload so the crashpad legs wait for the crash upload before exiting. Also include the sentry-native database (.sentry-native) in the on-failure artifacts for the Windows and Linux integration tests to simplify diagnosing missing/failed uploads. * Include hidden files so .sentry-native is captured in the artifact actions/upload-artifact skips hidden files by default, which dropped the dotted .sentry-native crash DB (daemon log, minidumps) from the failure artifacts. * Add memory limit util * Raise sentry-native thread stack guarantee in Windows integration tests Stack-overflow crash capture intermittently dies in-process (secondary 0xC0000005, no minidump produced) because the default 64 KiB guarantee is not always enough for UE's handler chain. SENTRY_HANDLER_STACK_SIZE is read by sentry-native at init, so no rebuild is needed. * Bump sentry-native to pick up thread stack guarantee fixes Points the submodule at fix/thread-stack-guarantee-static-init (master + fix): kernel32 caching now precedes backend startup in static builds so the default thread stack guarantee is actually applied, and the native backend now sets it like the other backends do. This should let the in-process handlers survive stack-overflow crashes in the Windows integration tests. * Allow manual dispatch of package-plugin-workflow Dispatched runs get their own concurrency group (run_id fallback), so multiple validation runs can execute in parallel without canceling the PR run. * Filter Android logcat capture to relevant tags in integration tests The crash-capture test intermittently fails with "Expected 1 EVENT_CAPTURED line(s) but found 0": real SauceLabs devices emit thousands of unrelated log lines per second (AuthPII alone was ~8k of the ~10k captured lines), evicting UE's output from the captured log window before the harness reads it. Use app-runner's SAUCE_LOGCAT_FILTER (getsentry/app-runner#53, already in the pinned revision) to filter at capture time. * Drop exact replay duration assertion in integration tests The server computes replay duration from segment timestamps, which shift with crash handling timing (observed 6 vs the sidecar's nominal 5 seconds), so an exact match is inherently flaky. * Update sentry-native pin to reworded fix branch The stack guarantee fix branch was rebased for the upstream PR (getsentry/sentry-native#1918); the previously pinned commit no longer exists on any branch. * Remove workflow_dispatch trigger used for CI validation * Revert sentry-native pin to 0.15.4 The thread stack guarantee fix (getsentry/sentry-native#1918) will be picked up via a separate dependency update PR once it merges upstream. * Remove SENTRY_HANDLER_STACK_SIZE env var * Capture only logs from .sentry-native in failure artifacts Minidumps and envelopes contain process memory of the crashed test app (on Linux even the full environment block), which may hold CI secrets. Restrict the artifact to the daemon logs, which carry the diagnostic value.
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.
Apprunner dumps the logcat as 10000 lines, making it hard to get the right information without filtering. This PR adds an optional
SAUCE_LOGCAT_FILTERenvironment variable for Android SauceLabs sessions. When set, its whitespace-separated logcat filterspecs (tag[:priority], e.g.godot:V sentry-native:V *:S) are passed to the Appium session through thelogcatFilterSpecscapability, trimming the otherwise very noisy system-wide Android log down to the requested tags at capture time so that app markers are not buried or evicted from the log buffer. When unset, behavior is unchanged and the full logcat is returned.