# basset - [Introduction](https://docs.basset.dev/index.md): Live, on-demand iOS diagnostics for coding agents - [Quickstart](https://docs.basset.dev/quickstart.md): Install the CLI, sign in, and read your first capture - [Install](https://docs.basset.dev/sdk/install.md): Link the SDK into an app, and start it - [Overview](https://docs.basset.dev/sdk/overview.md): What basset instruments run inside the app - [basset auth](https://docs.basset.dev/cli/auth.md): Sign in to basset, and see who you are signed in as - [basset org](https://docs.basset.dev/cli/org.md): Choose which organization commands act in - [basset app](https://docs.basset.dev/cli/app.md): The apps a basset request can target - [basset request](https://docs.basset.dev/cli/request.md): Ask real devices for readings, and see what is already being asked - [basset menu](https://docs.basset.dev/cli/menu.md): Every instrument a basset request can name - [basset config](https://docs.basset.dev/cli/config.md): Every setting the CLI reads, and where each one comes from - [Overview](https://docs.basset.dev/instruments/overview.md): Every instrument a basset request can name, grouped by domain - [Instrument metadata](https://docs.basset.dev/instruments/metadata.md): The fields that describe how an instrument reports, not what it reports - [route](https://docs.basset.dev/instruments/audio/route.md): Which output the app's audio is coming out of, which microphone is listening, and what put them there - [central.state](https://docs.basset.dev/instruments/bluetooth/central-state.md): Why Bluetooth is doing nothing for this user, which looks identical to no device being nearby - [provider.actions](https://docs.basset.dev/instruments/call/provider-actions.md): What CallKit asked the app to do, and whether the call ever got audio - [device.format](https://docs.basset.dev/instruments/camera/device-format.md): The format each camera in a session is running, and whether the output attached to it can carry the pixels that format produces - [device.inventory](https://docs.basset.dev/instruments/camera/device-inventory.md): Every camera the hardware exposes, and every combination it will run at once - [frames.delivery](https://docs.basset.dev/instruments/camera/frames-delivery.md): How many camera frames reach the app each second, how many the system threw away instead, and why - [session.configuration](https://docs.basset.dev/instruments/camera/session-configuration.md): What a capture session is actually holding: inputs, outputs, live connections, and what the hardware charges for them - [session.state](https://docs.basset.dev/instruments/camera/session-state.md): Whether a capture session is running, and whether iOS interrupted it - [mainThreadHang](https://docs.basset.dev/instruments/concurrency/main-thread-hang.md): How long the main run loop went without returning to idle - [queue.latency](https://docs.basset.dev/instruments/concurrency/queue-latency.md): How long work waits before the main queue runs it - [thread.inventory](https://docs.basset.dev/instruments/concurrency/thread-inventory.md): Every thread in the process, named and described, without stopping any of them - [thread.usage](https://docs.basset.dev/instruments/cpu/thread-usage.md): Which threads are burning CPU right now, and how much of the last window each took - [wakeups](https://docs.basset.dev/instruments/cpu/wakeups.md): How often the process woke the CPU, and how much of that took the package out of idle - [info](https://docs.basset.dev/instruments/device/info.md): Hardware, OS and build identity for the device under capture - [accessibility](https://docs.basset.dev/instruments/environment/accessibility.md): Which accessibility settings this user has turned on, and any they change while the app is open - [dynamicType](https://docs.basset.dev/instruments/environment/dynamic-type.md): The text size this user reads at, and whether it is an accessibility size - [locale](https://docs.basset.dev/instruments/environment/locale.md): The language, region and calendar this device is set to - [app.state](https://docs.basset.dev/instruments/lifecycle/app-state.md): Whether the app was in front, and how long it was away - [lastRunEnded](https://docs.basset.dev/instruments/lifecycle/last-run-ended.md): Why the previous run stopped, for the deaths that leave no crash report - [delegate.silence](https://docs.basset.dev/instruments/location/delegate-silence.md): Whether location updates ever arrive after the app asks for them - [faults](https://docs.basset.dev/instruments/log/faults.md): Every error and fault any framework logged inside this process - [subsystems](https://docs.basset.dev/instruments/log/subsystems.md): Which frameworks are logging inside this process, and how loudly - [tile.loading](https://docs.basset.dev/instruments/map/tile-loading.md): A map that came up blank or grey, and the error MapKit reported for it - [footprint](https://docs.basset.dev/instruments/memory/footprint.md): The memory ledger jetsam kills on, and how much of it is left - [pressure](https://docs.basset.dev/instruments/memory/pressure.md): When iOS asked for memory back, and what the app was holding at that moment - [drawable.presentation](https://docs.basset.dev/instruments/metal/drawable-presentation.md): Frames a Metal layer actually put on screen, and the gaps between them - [gpu.latency](https://docs.basset.dev/instruments/metal/gpu-latency.md): How long the GPU takes to answer a trivial piece of work, as a measure of what it is already carrying - [path.transitions](https://docs.basset.dev/instruments/network/path-transitions.md): Every change to which interface the device is actually using - [session.configuration](https://docs.basset.dev/instruments/network/session-configuration.md): What each URLSession is permitted to do, which its requests never say - [transportSecurity](https://docs.basset.dev/instruments/network/transport-security.md): What this build's App Transport Security will and will not load - [urlSession.taskMetrics](https://docs.basset.dev/instruments/network/url-session-task-metrics.md): What a URLSession request actually did on the wire - [settings](https://docs.basset.dev/instruments/notifications/settings.md): What the user left switched on for notifications, which being authorized does not say - [changes](https://docs.basset.dev/instruments/permissions/changes.md): Permissions that moved while the app was open, noticed each time it returns to the front - [status](https://docs.basset.dev/instruments/permissions/status.md): Every authorization this app can be refused, and whether it is allowed right now - [thermalState](https://docs.basset.dev/instruments/power/thermal-state.md): The thermal pressure level iOS is reporting, and every change to it - [frame.pacing](https://docs.basset.dev/instruments/render/frame-pacing.md): Whether each frame finished inside the budget the system set for it - [linkedLibraries](https://docs.basset.dev/instruments/runtime/linked-libraries.md): Every image mapped into this process, and which of them the app shipped rather than the OS - [methodOwners](https://docs.basset.dev/instruments/runtime/method-owners.md): Whether a watched method still runs the code its framework shipped, or something replaced it while the process was running - [stackSamples](https://docs.basset.dev/instruments/runtime/stack-samples.md): Where the main thread spends its time, sampled and counted rather than caught once - [threadSnapshot](https://docs.basset.dev/instruments/runtime/thread-snapshot.md): Every thread's stack, as addresses the developer's own build can resolve - [coreData.changes](https://docs.basset.dev/instruments/storage/core-data-changes.md): How much a Core Data stack churns between saves, aggregated per second - [coreData.save](https://docs.basset.dev/instruments/storage/core-data-save.md): Every Core Data save, what it wrote, how long it took, and whether it ran on the right thread - [displayList.churn](https://docs.basset.dev/instruments/swiftui/display-list-churn.md): Whether SwiftUI's rendered output is changing, sampled from the hosting view's display list - [host.appear](https://docs.basset.dev/instruments/swiftui/host-appear.md): Every SwiftUI screen that finishes appearing, with the root view type and how long it took - [host.updates](https://docs.basset.dev/instruments/swiftui/host-updates.md): How often SwiftUI's hosting views lay out, and how long each pass takes - [presentation](https://docs.basset.dev/instruments/swiftui/presentation.md): SwiftUI sheets and modal screens as they present and dismiss - [runtimeIssues](https://docs.basset.dev/instruments/swiftui/runtime-issues.md): SwiftUI's own runtime issues, read from the unified log inside the process - [control.action](https://docs.basset.dev/instruments/uikit/control-action.md): Every control action UIKit sent, and which class received it - [gesture.state](https://docs.basset.dev/instruments/uikit/gesture-state.md): Every gesture recognizer's state transition, and which class it belongs to - [viewController.appear](https://docs.basset.dev/instruments/uikit/view-controller-appear.md): Every view controller that finishes appearing, in order - [view.hierarchy](https://docs.basset.dev/instruments/uikit/view-hierarchy.md): Every view whose bounds contain a point, topmost first, with its class and frame - [view.layoutPass](https://docs.basset.dev/instruments/uikit/view-layout-pass.md): How many layout passes run each second and how long they take - [window.touches](https://docs.basset.dev/instruments/uikit/window-touches.md): Every touch the app's windows received, when each one began and ended, and how far the drags between them travelled - [contentProcess.termination](https://docs.basset.dev/instruments/webkit/content-process-termination.md): A web view that went white because its content process died - [Dashboard](https://docs.basset.dev/dashboard.md): Reading a capture at app.basset.dev This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.