performance command provides access to app performance metrics, power usage data, and diagnostic signatures collected from real user devices.
Overview
App Store Connect collects performance data from iOS devices to help you identify issues affecting user experience:- Performance Metrics - CPU, memory, disk, battery, launch time, animation, and termination metrics
- Diagnostic Signatures - Aggregated crash patterns, hangs, and disk write issues
- Diagnostic Logs - Sample logs for investigating specific issues
Performance Metrics
Retrieve performance and power usage metrics for your app or specific builds.List Metrics for App
Get performance metrics across all builds of an app.--app- App ID (orASC_APP_IDenv)
--platform- Platform filter:IOS--metric-type- Comma-separated metric types:ANIMATION- Animation hitch metricsBATTERY- Battery usageDISK- Disk writesHANG- UI hangsLAUNCH- App launch timeMEMORY- Memory usageTERMINATION- App terminations
--device-type- Comma-separated device types (e.g.,iPhone15,2)
Get Metrics for Build
Retrieve performance metrics for a specific build.--build- Build ID
--platform- Platform filter:IOS--metric-type- Comma-separated metric types (see above)--device-type- Comma-separated device types
Metric Types
ANIMATION
Measures animation smoothness and UI responsiveness:- Hitch time ratio
- Frame rate
- UI rendering performance
BATTERY
Tracks power consumption:- Battery usage per hour
- Energy impact
- Background vs foreground usage
DISK
Monitors disk write activity:- Logical writes
- Write operations frequency
- Disk usage patterns
HANG
Identifies UI hangs and freezes:- Hang time ratio
- Main thread blocking
- Unresponsive periods
LAUNCH
Measures app launch performance:- Cold launch time
- Warm launch time
- Resume time
MEMORY
Tracks memory usage:- Peak memory
- Average memory usage
- Memory warnings
TERMINATION
Monitors app terminations:- Termination rate
- Termination reasons (e.g., memory pressure, crashes)
- Background task completion
Diagnostic Signatures
Diagnostic signatures aggregate similar issues to help identify patterns.List Signatures for Build
List diagnostic signatures for a specific build.--build- Build ID
--diagnostic-type- Comma-separated types:DISK_WRITES- Excessive disk write patternsHANGS- UI hang signaturesLAUNCHES- Launch failure signatures
--fields- Comma-separated fields to return:diagnosticTypesignatureweightinsightlogs
--limit- Maximum results per page (1-200)--paginate- Fetch all pages automatically--next- Pagination URL
Get Diagnostic Logs
Retrieve sample logs for a diagnostic signature.--id- Diagnostic signature ID
--limit- Maximum number of logs (1-200)
Download Performance Data
Download aggregated performance metrics data.--build- Build ID
--output- Output file path
Device Types
Device types use Apple’s internal device identifiers: Common Device Types:iPhone15,2- iPhone 14 ProiPhone15,3- iPhone 14 Pro MaxiPhone14,2- iPhone 13 ProiPhone14,3- iPhone 13 Pro MaxiPad13,1- iPad Air (5th generation)
Understanding Signatures
Signature Weight
Signatures are weighted by:- Number of affected users
- Frequency of occurrence
- Severity of impact
Signature Insights
App Store Connect may provide automated insights:- Root cause analysis
- Affected code paths
- Recommended fixes
Common Workflows
Identify Performance Regressions
Monitor Critical Issues
Export Full Diagnostic Report
Device-Specific Analysis
Data Availability
Collection Period:- Performance data is collected from opted-in devices
- Typically aggregated over 7-14 days
- Requires sufficient sample size for statistical significance
- All data is anonymized
- Device identifiers are not included
- Users must opt in to share analytics
- Historical data available for recent builds
- Older builds may have limited data
Troubleshooting
No Metrics Available
Possible causes:- Build too recent (data not yet aggregated)
- Insufficient sample size
- No users opted in to share analytics
- Wait 7-14 days after release
- Check App Store Connect web UI for data availability
- Verify build is distributed to users
Empty Diagnostic Logs
Possible causes:- Low occurrence rate
- Privacy thresholds not met
- Check signature weight (higher weight = more logs)
- Wait for more data collection
