Inquiry regarding MetricKit cpuExceptionDiagnostics timestamps, totalSampledTime, and app status

Dear Apple Developer Support Team,

I am writing to seek clarification on the timeline behavior and app status associated with the MetricKit cpuExceptionDiagnostics payload.

In a recent diagnostic log collected from production, we observed the following values:

timeStampBegin: "2026-07-07 10:37:00"

timeStampEnd: "2026-07-07 10:37:00"

totalSampledTime: "168 sec"

Since both timeStampBegin and timeStampEnd share the exact same second (10:37:00), but the totalSampledTime indicates a continuous sampling duration of 168 seconds, we are having trouble accurately correlating this incident with our internal server logs.

Could you please clarify the following questions:

What exactly does the timestamp "2026-07-07 10:37:00" represent? Is it the sampling start time, the sampling end time, or the moment the diagnostic log was generated/written by the system?

If "2026-07-07 10:37:00" represents the log generation time (or the moment the exception was triggered), how should we determine the actual start and end times of the 168-second sampling window? For instance, does it mean the sampling occurred strictly before this timestamp (from 10:34:12 to 10:37:00), or is there a different calculation method?

Does a cpuExceptionDiagnostics event imply that the app crashed or was terminated by the OS? Or is it merely a non-fatal telemetry log capturing heavy CPU usage/resource limit violations while the app remained running?

Understanding the precise timeline and lifecycle impact of MetricKit diagnostics is crucial for us to correlate client-side resource issues with backend performance and user activities.

Thank you for your time and guidance.

Best regards

Inquiry regarding MetricKit cpuExceptionDiagnostics timestamps, totalSampledTime, and app status
 
 
Q