MetricKit

RSS for tag

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

MetricKit Documentation

Posts under MetricKit tag

16 Posts
Sort by:
Post not yet marked as solved
1 Replies
20 Views
histogrammedOptimizedTimeToFirstDraw and histogrammedTimeToFirstDraw are both described as the "time taken to launch the app" with/without pre-warming. But, after we measured these values in production, we found them to be very similar, maybe a few hundred milliseconds apart. We expected the pre-warmed, or hot launches, to be far faster than the cold launches since the docs state that pre-warmed builds execute an app’s launch sequence up until, but not including when main() calls UIApplicationMain(). Which leads me to ask, what do these values truly represent? When in the launch cycle of an app are they captured? Thank you!
Posted Last updated
.
Post not yet marked as solved
8 Replies
335 Views
We have use MetricKit API when app was launched. [[MXMetricManager sharedManager] addSubscriber:self]; the exception is here. Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Triggered by Thread: 27 Last Exception Backtrace: 0 CoreFoundation 0x18dbae248 __exceptionPreprocess + 164 (NSException.m:202) 1 libobjc.A.dylib 0x186fc3a68 objc_exception_throw + 60 (objc-exception.mm:356) 2 CoreFoundation 0x18dd19fec __NSFastEnumerationMutationHandler + 116 (NSEnumerator.m:130) 3 Foundation 0x18804d828 -[NSConcreteHashTable countByEnumeratingWithState:objects:count:] + 76 (NSHashTable.m:577) 4 MetricKit 0x1fddf8868 -[MXMetricManager deliverMetricPayload:] + 408 (MXMetricManager.m:336) 5 Foundation 0x1880b66c8 __NSXPCCONNECTION_IS_CALLING_OUT_TO_EXPORTED_OBJECT_S1__ + 16 (NSXPCConnection.m:189) 6 Foundation 0x188686e34 -[NSXPCConnection _decodeAndInvokeMessageWithEvent:reply:flags:] + 1644 (NSXPCConnection.m:705) 7 Foundation 0x188688608 message_handler_message + 88 (NSXPCConnection.m:826) 8 Foundation 0x188688074 message_handler + 152 (NSXPCConnection.m:797) 9 libxpc.dylib 0x1da21a18c _xpc_connection_call_event_handler + 152 (connection.c:834) 10 libxpc.dylib 0x1da21a5bc _xpc_connection_mach_event + 992 (connection.c:1445) 11 libdispatch.dylib 0x194ff609c _dispatch_client_callout4 + 20 (object.m:600) 12 libdispatch.dylib 0x195012830 _dispatch_mach_msg_invoke + 468 (mach.c:2462) 13 libdispatch.dylib 0x194ffd56c _dispatch_lane_serial_drain + 376 (inline_internal.h:0) 14 libdispatch.dylib 0x19501354c _dispatch_mach_invoke + 448 (mach.c:2784) 15 libdispatch.dylib 0x194ffd56c _dispatch_lane_serial_drain + 376 (inline_internal.h:0) 16 libdispatch.dylib 0x194ffe214 _dispatch_lane_invoke + 436 (queue.c:3940) 17 libdispatch.dylib 0x195008e10 _dispatch_workloop_worker_thread + 652 (queue.c:6846) 18 libsystem_pthread.dylib 0x1da1c5df8 _pthread_wqthread + 288 (pthread.c:2618) 19 libsystem_pthread.dylib 0x1da1c5b98 start_wqthread + 8 how to fix this issues?
Posted
by rbbtsn0w.
Last updated
.
Post not yet marked as solved
0 Replies
159 Views
We are trying to query our perf and metrics data through the ASC API, and are finding that it returns empty JSONs. Looking in xCode's Organizer we see the same result, with the addition of an 'Insufficient Metrics Data' label. The apps in question are live with a couple thousand users, I was wondering if we could get any information on what scale needs to be reached in order to extract this metrics data?
Posted Last updated
.
Post marked as solved
2 Replies
394 Views
Good afternoon Previously, every release I got MetricKit data in xCode Organizer, but now the latest metric was 11 months ago 08/04/2021 (07/12/2022 at the time the question was created). However, I continue to receive crash reports in xCode Organizer. I didn't find any guides or troubleshooting about getting metrics. Are there any conditions for the metrics to work? Thanks
Posted
by murabye.
Last updated
.
Post not yet marked as solved
2 Replies
384 Views
Hi! I've implemented collecting MetricKit data for my app. And I don't understand meaning of histogrammedApplicationResumeTime values from appLaunch metric. I explored data and found, that there are can be really huge values – around hours. For example, let's see one data snapshot from real user: It seems unbelievable, that resumeTime takes 10902720ms (1 hour). We've also built a bar chart per percentiles and it looks crazy: p85 – 1030ms | p95 – 1.52 million ms | p99 – 13.2 million ms (3.5 hours) Documentation says: A histogram of the different amounts of time taken to resume the app from the background. For me it sounds like: time between moment, when user launch app, which is in background mode already, to moment, when app comes to foreground stay. But the real data shows that it isn't. Can somebody describe what really means histogrammedApplicationResumeTime metric?
Posted
by jastic7.
Last updated
.
Post not yet marked as solved
0 Replies
253 Views
Hi Team, I want to track fundamental metrics for the packetTunnelProvider and subscribe the MXMetricManager in packetTunnel but it did not call the didReceiveMetricPayloads even after using Simulate MetricKit payload. I can subscribe to the container app but In my case, it is not guaranteed that the host app is launched timely or at least once a day. Does the container app itself invoke in the background to collect the app and network extension Metrics in that case? Please suggest the way, how we can collect the metrics for network extension?
Posted Last updated
.
Post not yet marked as solved
1 Replies
365 Views
three mouths ago,i integrate MetricKit with my app project,but i can not see any data on Xcode Organizer,is there some problem with me? By the way,i can recive the delegate MXMetricManagerSubscriber log in app log,so how can i see the result data on Xcode Organizer? who can help me?
Posted
by xttxqjfg1.
Last updated
.
Post not yet marked as solved
1 Replies
701 Views
I receive thousands of metrickit crash reports every day : EXC_CRASH:<RBSTerminateContext| domain:10 code:0x8BADF00D explanation:process-launch watchdog transgression: application:6559 exhausted real (wall clock) time allowance of 60.00 seconds call stack: 0 libobjc.A.dylib libobjc.A.dylib 1 libobjc.A.dylib libobjc.A.dylib 2 libobjc.A.dylib libobjc.A.dylib 3 libobjc.A.dylib libobjc.A.dylib 4 dyld dyld 5 dyld dyld 6 dyld dyld 7 dyld dyld I have a few questions: 1.Does this mean that the dynamic link is stuck? 2.Where should I fix this problem?
Posted Last updated
.
Post not yet marked as solved
0 Replies
515 Views
I used the app this morning, uninstalled and reinstalled this afternoon. Will the data reported by MetricKit the next day include the data before uninstalling and reinstalling the previous day?
Posted Last updated
.
Post not yet marked as solved
0 Replies
417 Views
If the app is pre-warm and started, the memory resource is limit and the app exits in background. Does it count as a backgroundExitData.cumulativeMemoryResourceLimitExitCount in Metric Kit?
Posted Last updated
.
Post not yet marked as solved
2 Replies
988 Views
Good afternoon friends! Can't figure out why metricKit doesn't send MXDiagnosticPayload reports right away? But only once every 24 hours "The system then delivers metric reports at most once per day, and diagnostic reports immediately in iOS 15 and later and macOS 12 and later." - Apple Documentation iPhone 7, iOS 15
Posted
by Daniil G.
Last updated
.
Post not yet marked as solved
2 Replies
1.1k Views
I am trying to implement MetricKit so later I could analyze MXCrashDiagnostic and MXHangDiagnostic reports. However when I am triggering a test crash, Here is an example of what I get for MXCrashDiagnostic: iente "timeStampEnd": "2021-06-07 15:59:00 +0000", "crashDiagnostics": [ { "version": "1.0.0", "callStackTree": { "callStacks": [ { "threadAttributed": true, "callStackRootFrames": [ { "binaryUUID": "DC2EACEA-3D9C-3409-96C2-2DF9C89AD19D", "offsetIntoBinaryTextSegment": 6917586944, "sampleCount": 1, "subFrames": [ { "binaryUUID": "DC2EACEA-3D9C-3409-96C2-2DF9C89AD19D", "offsetIntoBinaryTextSegment": 6917586944, "sampleCount": 1, "subFrames": [ { "binaryUUID": "DC2EACEA-3D9C-3409-96C2-2DF9C89AD19D", "offsetIntoBinaryTextSegment": 6917586944, "sampleCount": 1, "subFrames": [ { "binaryUUID": "35463E49-9534-3644-B993-2A73C287A143", "offsetIntoBinaryTextSegment": 4329963520, "sampleCount": 1, "binaryName": "demo", "address": 4333717704 }] I tried to symbolicate the the data, by executing commands: atos -arch arm64e -o /Users/***/Downloads/!dsym-4/demo.app.dSYM/Contents/Resources/DWARF/demo 4333717704 But I can't find the crash stack and the result returned is 4333717704 the DSYM file uuid is UUID: 35463E49-9534-3644-B993-2A73C287A143 (arm64) /Users/***/Downloads/!dsym-3/demo.app.dSYM/Contents/Resources/DWARF/demo How should the stack returned by MetrickIt be symbolized? Who can tell me very grateful
Posted
by czm.
Last updated
.
Post not yet marked as solved
2 Replies
698 Views
I have errror with invoke API--> boringssl_metrics_log_metric_block_invoke(144) Failed to log metrics scattered clouds
Posted Last updated
.