MetricKit

RSS for tag

Aggregate and analyze per-device reports on power and performance metrics using MetricKit.

Posts under MetricKit tag

79 Posts

Post

Replies

Boosts

Views

Activity

Crash and Hang diagnostics not returned on next launch in MetricKit (iOS 17.2 – 17.5)
The MXCrashDiagnostic and MXHangDiagnostic reports are not being returned via MXMetricManager on the next app launch in iOS 17.2, 17.3, 17.4, and 17.5. This issue prevents collection of crash and hang diagnostics through the MetricKit framework, which worked as expected on earlier and later (18, 26) iOS versions. Steps to Reproduce:- Integrate MetricKit in an iOS app using: MXMetricManager.shared.add(self) and implement: func didReceive(_ payloads: [MXDiagnosticPayload]) Install and run the app on a device running iOS 17.2 or later. Cause a crash or hang scenario (e.g., dereference a null pointer or block the main thread). Relaunch the app after the system terminates it. Observe the callback for diagnostic payloads. Expected Behavior MXMetricManager.shared.didReceive(_:) should be invoked on the next launch, returning diagnostic payloads that include MXCrashDiagnostic or MXHangDiagnostic objects. Actual Behavior: No diagnostics are returned on subsequent launches. didReceive(_:) is not triggered, or the diagnostic payloads array is empty. This behavior is reproducible across multiple devices and iOS versions (17.2–17.5). iOS Versions: 17.2, 17.3, 17.4, 17.5 Devices Tested: iPhone 14, iPhone 15 Pro Xcode Version: 15.2 / 15.3 Framework: MetricKit Diagnostic Type: Crash and Hang
1
0
1k
Nov ’25
MetricKit Payload Not Populating on Enterprise
I'm working on adding MetricKit to our iPad application that we distribute internally via Enterprise distribution. I've set up the didReceive functions for both MXMetricPayload and MXDiagnosticPayload. When I build onto a device via Xcode and use the Simulate MetricKit Payloads command, everything works as expected. The issue I'm having is when testing on a device via our enterprise distribution. When I simulate a crash, I am receiving the MXDiagnosticPayload so that part is working correctly. However, I am never receiving a MXMetricPayload. I've been using the app and waiting up to 3 days in some tests and not receiving any payload over that time frame. Some information I found suggested the issue might be MetricKit not working fully on enterprise apps but I haven't been able to find a definitive source on that question. Hoping someone here can guide me on that. Thanks!
1
0
948
Oct ’25
Using MetricKit for Hangs on macOS
Hallo all, I did a test integration of MetricKit into one of our apps...I'am on macOS Ventura 13.3.1 (a). The app is not distributed via the App Store. I subscribed to the MXMetricManager and implemented the didReceiveDiagnosticPayloads function. So far everything seems to work, when I use in Xcode: Debug -> Simulate MetricKit Payload I get a callback and the payload. So I did some further testing. When I build the app debug version with a test crash and then run the Debug Version (without Xcode) and let it crash the next time I start the app I get a callback to didReceiveDiagnosticPayloads with all the information about the crash. But I'am not able to get a hang report. I tested it by adding a sleep (60) and adding some intensive computation work on the main thread so that it is busy for several seconds, I get no hang reports :-( I'am using the Debug version and run it without Xcode. Are hang reports expected to be reported immediately? I also get after 24 hours no hang reports. Can someone help me? Thanks and have a nice day!
2
1
1.8k
Sep ’25
Xcode organizer not properly showing termination charts
Two month back we published 28.11.0 version a app. for both foreground and background terminations are not properly showing by Xcode matrix Foreground Termination: I was able to see the termination bar chart for one release, but after that, the chart stopped showing real-time crash progress. However, crashes are still being reported directly by users. Why is Xcode Organizer unable to capture these events? Please help us track them effectively. Background Termination: The termination bar chart has not appeared in Xcode Organizer for the last two releases, which span nearly two months. As a result, we are unable to monitor app terminations for background scenarios.
0
0
971
Jul ’25
Is it allowed to send cumulativeBackgroundTime collected by MetricKit to my server?
Hello, I am currently developing an iOS SDK, and I would like to clarify the allowed use of MetricKit, specifically regarding the MXAppRunTimeMetric.cumulativeBackgroundTime value. My SDK tracks app lifecycle events for analysis purposes. I am considering sending the cumulativeBackgroundTime metric to my own backend server to monitor background usage patterns across different devices. Before proceeding, I want to confirm: Is it compliant with Apple’s App Store Review Guidelines to collect cumulativeBackgroundTime via MetricKit and transmit that data to my server? I understand MetricKit is primarily intended for performance monitoring and local analysis, but since this is a runtime metric, I would like to verify whether off-device aggregation is acceptable. I would appreciate any clarification regarding policy boundaries or best practices for this scenario. Thank you in advance!
1
0
781
Jul ’25
Is MetricKit automatically on all devices?
Hello Apple, I am trying to get information such as crash context whenever a user encounters a situation where the app is killed. I was wondering if the tool MetricKit is available to all users or is this a feature to those who has opted into it. I am aware that the whenever someone gets a new device or in settings, an option will appear that'll have users decide whether or not to have Apple receive data analytics during certain events on their device. Does this have any effect on whether some users may not have MetricKit? Overall, we are attempting to use MetricKit to better analyze performance of our app. It would be inefficient for us, if the population of users using MetricKit is only those who have opted into it. Thanks, dmaliro
3
0
942
May ’25
Portal of Apple for tracking health(crashes/hangs)
We are looking for a platform or portal provided by Apple that allows us to track crashes, hangs, or other runtime issues faced by users while using our iOS/macOS application. This is similar to how we currently use Windows Error Reporting (WER) for our Windows application. Important note: Our application is not distributed via the Apple App Store — it is delivered through enterprise distribution or ad-hoc provisioning.
3
0
1.2k
Apr ’25
One of my recent version metrics disappear in Xcode organizer metrics
Hello, For one of my recent release (2 versions ago), I used to be able to check its p50 of Hang Rate, but now it disappear and not showing up in XCode Organizer Metrics anymore. The p90 of Hang Rate of this version is still there. It's so unpredictable. Is there something we can do to get this data to populate? If not, may I understand usually why this issue will happen, is it something frond-end bug or is it because there is some thing abnormal going on in the back-end data?
1
0
746
Apr ’25
Discrepancies in MetricKit and Xcode Organizer Data
We recently integrated MetricKit into our app; however, the 90th percentile data does not seem to match the data in Xcode Organizer. The values reported by MetricKit appear to be higher. Additionally, it looks like data for previous app versions is not being updated in Organizer as adoption of the latest version increases. Has anyone else experienced this issue? Could there be a delay in data updates for older versions in Organizer? Are there any known limitations or best practices for ensuring consistency between MetricKit and Xcode Organizer data? Any guidance would be greatly appreciated.
1
2
748
Apr ’25
How can we get crash reports for the app installed on users' devices
Hi, From App analytics, we found that our app crashed from time to time on users' devices despite that we have tested it thoroughly on our devices. We are doubt that it's the reason why we can't retain them. But how can we get the crash reports for the app installed on user devices? We have no users' emails and can't ask them directly.
1
0
842
Mar ’25
Guidance needed to pull yesterday's data from perfPowerMetrics endpoint
Hi Folks, I’m looking to pull performance metrics using https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apps-_id_-perfpowermetrics from Lookback for yesterday's data. Could you guide me on the best way to filter or query this specific timeframe? I dont actually see a way pull data from history. Any advice or steps would be greatly appreciated. TIA!
0
0
795
Nov ’24
How to Dynamically Obtain Device Models for App Store Users?
I'm currently pulling device-specific data for my app, and I'm manually listing 150 models like this: device_models = [ "iPhone1_1", "iPhone1_2", "iPhone2_1", ... "iPad16_6"] Is there an API endpoint or an automated method to dynamically retrieve a complete list of device models? I'm specifically looking to connect this with the performance metrics API to monitor launch times per device type. Any suggestions on how to streamline or automate this list would be greatly appreciated. Thanks!
2
0
1.3k
Nov ’24
Accessing Historical Metrics Data with App Store Connect API?
Hi everyone, I’m working with the App Store Connect API to analyze my app's launch time performance, but I’d like to retrieve historical data spanning multiple dates. However, I haven’t found parameters like startDate or endDate in the API documentation. Is there any way to retrieve data for past dates, or is the API limited to recent data only? If anyone has experience with this or any workaround, I’d love to hear about it. Thank you!
0
0
909
Nov ’24
Crash and Hang diagnostics not returned on next launch in MetricKit (iOS 17.2 – 17.5)
The MXCrashDiagnostic and MXHangDiagnostic reports are not being returned via MXMetricManager on the next app launch in iOS 17.2, 17.3, 17.4, and 17.5. This issue prevents collection of crash and hang diagnostics through the MetricKit framework, which worked as expected on earlier and later (18, 26) iOS versions. Steps to Reproduce:- Integrate MetricKit in an iOS app using: MXMetricManager.shared.add(self) and implement: func didReceive(_ payloads: [MXDiagnosticPayload]) Install and run the app on a device running iOS 17.2 or later. Cause a crash or hang scenario (e.g., dereference a null pointer or block the main thread). Relaunch the app after the system terminates it. Observe the callback for diagnostic payloads. Expected Behavior MXMetricManager.shared.didReceive(_:) should be invoked on the next launch, returning diagnostic payloads that include MXCrashDiagnostic or MXHangDiagnostic objects. Actual Behavior: No diagnostics are returned on subsequent launches. didReceive(_:) is not triggered, or the diagnostic payloads array is empty. This behavior is reproducible across multiple devices and iOS versions (17.2–17.5). iOS Versions: 17.2, 17.3, 17.4, 17.5 Devices Tested: iPhone 14, iPhone 15 Pro Xcode Version: 15.2 / 15.3 Framework: MetricKit Diagnostic Type: Crash and Hang
Replies
1
Boosts
0
Views
1k
Activity
Nov ’25
MetricKit Payload Not Populating on Enterprise
I'm working on adding MetricKit to our iPad application that we distribute internally via Enterprise distribution. I've set up the didReceive functions for both MXMetricPayload and MXDiagnosticPayload. When I build onto a device via Xcode and use the Simulate MetricKit Payloads command, everything works as expected. The issue I'm having is when testing on a device via our enterprise distribution. When I simulate a crash, I am receiving the MXDiagnosticPayload so that part is working correctly. However, I am never receiving a MXMetricPayload. I've been using the app and waiting up to 3 days in some tests and not receiving any payload over that time frame. Some information I found suggested the issue might be MetricKit not working fully on enterprise apps but I haven't been able to find a definitive source on that question. Hoping someone here can guide me on that. Thanks!
Replies
1
Boosts
0
Views
948
Activity
Oct ’25
Using MetricKit for Hangs on macOS
Hallo all, I did a test integration of MetricKit into one of our apps...I'am on macOS Ventura 13.3.1 (a). The app is not distributed via the App Store. I subscribed to the MXMetricManager and implemented the didReceiveDiagnosticPayloads function. So far everything seems to work, when I use in Xcode: Debug -> Simulate MetricKit Payload I get a callback and the payload. So I did some further testing. When I build the app debug version with a test crash and then run the Debug Version (without Xcode) and let it crash the next time I start the app I get a callback to didReceiveDiagnosticPayloads with all the information about the crash. But I'am not able to get a hang report. I tested it by adding a sleep (60) and adding some intensive computation work on the main thread so that it is busy for several seconds, I get no hang reports :-( I'am using the Debug version and run it without Xcode. Are hang reports expected to be reported immediately? I also get after 24 hours no hang reports. Can someone help me? Thanks and have a nice day!
Replies
2
Boosts
1
Views
1.8k
Activity
Sep ’25
Xcode organizer not properly showing termination charts
Two month back we published 28.11.0 version a app. for both foreground and background terminations are not properly showing by Xcode matrix Foreground Termination: I was able to see the termination bar chart for one release, but after that, the chart stopped showing real-time crash progress. However, crashes are still being reported directly by users. Why is Xcode Organizer unable to capture these events? Please help us track them effectively. Background Termination: The termination bar chart has not appeared in Xcode Organizer for the last two releases, which span nearly two months. As a result, we are unable to monitor app terminations for background scenarios.
Replies
0
Boosts
0
Views
971
Activity
Jul ’25
Is it allowed to send cumulativeBackgroundTime collected by MetricKit to my server?
Hello, I am currently developing an iOS SDK, and I would like to clarify the allowed use of MetricKit, specifically regarding the MXAppRunTimeMetric.cumulativeBackgroundTime value. My SDK tracks app lifecycle events for analysis purposes. I am considering sending the cumulativeBackgroundTime metric to my own backend server to monitor background usage patterns across different devices. Before proceeding, I want to confirm: Is it compliant with Apple’s App Store Review Guidelines to collect cumulativeBackgroundTime via MetricKit and transmit that data to my server? I understand MetricKit is primarily intended for performance monitoring and local analysis, but since this is a runtime metric, I would like to verify whether off-device aggregation is acceptable. I would appreciate any clarification regarding policy boundaries or best practices for this scenario. Thank you in advance!
Replies
1
Boosts
0
Views
781
Activity
Jul ’25
Is MetricKit automatically on all devices?
Hello Apple, I am trying to get information such as crash context whenever a user encounters a situation where the app is killed. I was wondering if the tool MetricKit is available to all users or is this a feature to those who has opted into it. I am aware that the whenever someone gets a new device or in settings, an option will appear that'll have users decide whether or not to have Apple receive data analytics during certain events on their device. Does this have any effect on whether some users may not have MetricKit? Overall, we are attempting to use MetricKit to better analyze performance of our app. It would be inefficient for us, if the population of users using MetricKit is only those who have opted into it. Thanks, dmaliro
Replies
3
Boosts
0
Views
942
Activity
May ’25
Portal of Apple for tracking health(crashes/hangs)
We are looking for a platform or portal provided by Apple that allows us to track crashes, hangs, or other runtime issues faced by users while using our iOS/macOS application. This is similar to how we currently use Windows Error Reporting (WER) for our Windows application. Important note: Our application is not distributed via the Apple App Store — it is delivered through enterprise distribution or ad-hoc provisioning.
Replies
3
Boosts
0
Views
1.2k
Activity
Apr ’25
One of my recent version metrics disappear in Xcode organizer metrics
Hello, For one of my recent release (2 versions ago), I used to be able to check its p50 of Hang Rate, but now it disappear and not showing up in XCode Organizer Metrics anymore. The p90 of Hang Rate of this version is still there. It's so unpredictable. Is there something we can do to get this data to populate? If not, may I understand usually why this issue will happen, is it something frond-end bug or is it because there is some thing abnormal going on in the back-end data?
Replies
1
Boosts
0
Views
746
Activity
Apr ’25
Discrepancies in MetricKit and Xcode Organizer Data
We recently integrated MetricKit into our app; however, the 90th percentile data does not seem to match the data in Xcode Organizer. The values reported by MetricKit appear to be higher. Additionally, it looks like data for previous app versions is not being updated in Organizer as adoption of the latest version increases. Has anyone else experienced this issue? Could there be a delay in data updates for older versions in Organizer? Are there any known limitations or best practices for ensuring consistency between MetricKit and Xcode Organizer data? Any guidance would be greatly appreciated.
Replies
1
Boosts
2
Views
748
Activity
Apr ’25
How can we get crash reports for the app installed on users' devices
Hi, From App analytics, we found that our app crashed from time to time on users' devices despite that we have tested it thoroughly on our devices. We are doubt that it's the reason why we can't retain them. But how can we get the crash reports for the app installed on user devices? We have no users' emails and can't ask them directly.
Replies
1
Boosts
0
Views
842
Activity
Mar ’25
Guidance needed to pull yesterday's data from perfPowerMetrics endpoint
Hi Folks, I’m looking to pull performance metrics using https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apps-_id_-perfpowermetrics from Lookback for yesterday's data. Could you guide me on the best way to filter or query this specific timeframe? I dont actually see a way pull data from history. Any advice or steps would be greatly appreciated. TIA!
Replies
0
Boosts
0
Views
795
Activity
Nov ’24
How to Dynamically Obtain Device Models for App Store Users?
I'm currently pulling device-specific data for my app, and I'm manually listing 150 models like this: device_models = [ "iPhone1_1", "iPhone1_2", "iPhone2_1", ... "iPad16_6"] Is there an API endpoint or an automated method to dynamically retrieve a complete list of device models? I'm specifically looking to connect this with the performance metrics API to monitor launch times per device type. Any suggestions on how to streamline or automate this list would be greatly appreciated. Thanks!
Replies
2
Boosts
0
Views
1.3k
Activity
Nov ’24
Accessing Historical Metrics Data with App Store Connect API?
Hi everyone, I’m working with the App Store Connect API to analyze my app's launch time performance, but I’d like to retrieve historical data spanning multiple dates. However, I haven’t found parameters like startDate or endDate in the API documentation. Is there any way to retrieve data for past dates, or is the API limited to recent data only? If anyone has experience with this or any workaround, I’d love to hear about it. Thank you!
Replies
0
Boosts
0
Views
909
Activity
Nov ’24