Capture the evidence behind an app issue
Reproduce an issue while Ansight records a time-aligned session, so you can review captured screens, logs, telemetry, and app state after the app disconnects.
Record what your app showed and reported while you reproduce an issue, then return to that evidence for investigation or handoff. Each session keeps the available screens, logs, telemetry, touches, and app data aligned in time.
The local player follows new evidence from an SDK connection or external monitor and keeps the recorded session available after capture ends. Evidence depends on the capture source and its available capabilities. The session properties and properties window identify SDK versus external capture.
Start SDK capture
- Start the resident host with
ansight host run --open. - Launch an enrolled development or QA build.
- Confirm the app appears as a Live session in the player.
- Reproduce the behavior while the host remains running.
Capture begins when the paired app opens its eligible connection. After the app disconnects, the same session remains available as a recorded capture.
On macOS, Ansight also attempts an Xcode Instruments recording for iOS SDK sessions on booted simulators and developer-enabled physical iPhones. It uses Time Profiler attached to the app on simulators and device-wide Activity Monitor on physical iPhones, importing only the app’s PID into CPU and memory telemetry. The SDK must report its app process ID, and the host must be able to match that process to exactly one connected device. When the session ends, Ansight attaches the native trace. Activity Monitor CPU and memory samples populate the telemetry chart automatically when the session ends if Xcode exports the process table. Ansight falls back to raw process counters when the derived table cannot export. If the device cannot be inspected or Instruments cannot attach, the SDK session continues and records why the native capture was unavailable. Physical iPhone SDK capture does not require Appium.
Record without a live host
For native Apple/Android and framework apps, Native Offline Capture records on the device and transfers retained sessions on reconnect. This implementation requires matching SDK and CLI builds newer than the published SDK 1.8.0.
For the managed .NET workflow, configure Offline Capture to write evidence on the device, then export a ZIP and import it with ansight session import capture.zip --json. This requires app-side setup before the reproduction; losing the live connection alone does not enable offline recording.
Enable Connectivity Capture in the same runtime configuration to retain connection changes during the run. See Connectivity Review to inspect the imported evidence in the player or CLI.
Start external capture
For an installed iOS simulator or Android emulator app, open Apps → Monitoring
in the local player and add its App ID, or run ansight app watch add <app-id>.
The running host discovers booted devices and records while the app process is
alive. Backgrounding keeps the recording running. No SDK or device registration
is required. See External App Monitoring
for file capture, telemetry limits, and monitor management.
For a physical Android phone, enable USB debugging and authorize ADB, then add
the watch with --platform android --device-id <adb-serial>. Capture follows
the app while it is in the foreground.
For workspace automation, see Loading and Session Lifecycle. It shows when trigger definitions load, how capture events start handlers, and when finalized sessions receive automatic Trends evaluation.
Captured evidence
A session can contain:
- app, platform, device, runtime, and capture metadata;
- logs, exceptions, lifecycle events, and network request metadata;
- OS connectivity state, transport changes, and supported quality estimates when the SDK collector is enabled;
- telemetry channels and samples;
- screenshots and replay frames;
- visual tree snapshots;
- touch input and inferred gestures;
- Apple Pencil and Android stylus/eraser details, including available pressure, angles, hover, and finer move samples from SDK-integrated mobile apps;
- annotations and review metadata;
- artifact snapshots and captured files;
- linked test traces and analysis results.
SDK capture depends on the installed packages, runtime configuration, and tool guard. External capture supplies available screenshots, native logs, process telemetry, and sandbox files. Touches, custom app events, instrumented network requests, and app-internal tools require the corresponding SDK integration. Pen sensor fields also depend on the stylus and device; a simulator touch alone does not establish physical Apple Pencil pressure or hover behavior.
Local intake
Normal app-to-host intake stays on the trusted development network and is stored on the developer machine. It does not require a cloud relay. Sharing, cloud storage, and hosted computation are explicit follow-up operations.
Focus a capture
Use the timeline to mark an interval, create an annotation, or extract a smaller session. Extraction preserves the source capture and is safer for a focused handoff than destructive trimming.
Related CLI commands
Start with ansight session list --connected --json and ansight session show <session-id> --json, then use session logs, network, metrics, images,
touches, trees, artifacts, and annotations for deeper review. See CLI
Commands.