I'm trying to get CPU Profiler data, but apparently its size is quite big and appium times out, when extracting it. I've checked the code and found that there is a fixed stop timeout set to 3 minutes.
https://github.com/appium/appium-xcuitest-driver/blob/master/lib/commands/performance.ts#L18
My suggestion is to either add ability to extend that timeout in settings / capabilities or as an argument to mobile: stopPerfRecord method.
Server logs:
2026-07-29 14:41:39:230 [55d821fb][HTTP] --> POST /session/55d821fb-62dc-4998-8c2a-c4e558ab672a/execute/sync {"script":"mobile: stopPerfRecord","args":[{"profileName":"CPU Profiler"}]}
2026-07-29 14:41:39:230 [55d821fb][XCUITestDriver@310f] Calling AppiumDriver.execute() with args: ["mobile: stopPerfRecord",[{"profileName":"CPU Profiler"}],"55d821fb-62dc-4998-8c2a-c4e558ab672a"]
2026-07-29 14:41:39:230 [55d821fb][XCUITestDriver@310f] Executing command 'execute'
2026-07-29 14:41:39:520 [55d821fb][CPU Pro...@00008120] [xctrace] Stopping recording...
2026-07-29 14:42:09:221 [55d821fb][XCUITestDriver@310f] RemoteXPC upstream socket disconnected (local 50610 -> device 50610)
2026-07-29 14:42:09:226 [XCUITestDriver@310f] RemoteXPC downstream socket disconnected (local 50610 -> device 50610)
2026-07-29 14:44:39:240 [55d821fb][CPU Pro...@00008120] Performance recording has failed to exit after 180000ms
I'm trying to get
CPU Profilerdata, but apparently its size is quite big and appium times out, when extracting it. I've checked the code and found that there is a fixed stop timeout set to 3 minutes.https://github.com/appium/appium-xcuitest-driver/blob/master/lib/commands/performance.ts#L18
My suggestion is to either add ability to extend that timeout in settings / capabilities or as an argument to
mobile: stopPerfRecordmethod.Server logs: