metrickit-diagnostics

Collect and analyze iOS performance metrics and crash diagnostics via MetricKit.

981|50|Updated Mar 3, 2026
One-click install
npx skills add https://github.com/dpearson2699/swift-ios-skills --skill metrickit-diagnostics-dpearson2699
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: metrickit-diagnostics
Source: https://github.com/dpearson2699/swift-ios-skills/tree/main/skills/metrickit-diagnostics
Command: npx skills add https://github.com/dpearson2699/swift-ios-skills --skill metrickit-diagnostics-dpearson2699

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps developers collect and analyze on-device performance metrics and crash diagnostics, enabling them to identify and resolve performance bottlenecks and stability issues in their iOS applications.

Core Features & Use Cases

  • Performance Metrics Collection: Gathers daily metrics on CPU usage, memory, launch time, network activity, and more.
  • Diagnostic Payload Handling: Processes immediate reports for crashes, hangs, disk-write exceptions, and CPU exceptions with detailed call stacks.
  • Custom Signpost Metrics: Allows developers to define and track custom performance intervals using signposts.
  • Use Case: A developer can use this Skill to automatically collect and upload crash reports and performance data from their app's users, allowing them to quickly identify a recurring hang issue on a specific iOS version and prioritize a fix.

Quick Start

Use the metrickit-diagnostics skill to subscribe to MXMetricManager and begin collecting performance data.

Frequently Asked Questions about metrickit-diagnostics

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I collect iOS app crash diagnostics and performance metrics with MetricKit?

To collect iOS app diagnostics, you subscribe to MXMetricManager to handle MXMetricPayload and MXDiagnosticPayload, processing crash and hang reports via MXCallStackTree. This captures CPU, memory, and network metrics daily.

What is the best way to track custom performance intervals in an iOS app?

Tracking custom performance intervals requires adding custom signpost metrics to your code. This defines and tracks specific performance intervals, allowing detailed measurement of custom operations within your iOS application.

How does MXCallStackTree handle disk-write and CPU exceptions?

MXCallStackTree processes disk-write and CPU exceptions by extracting detailed call stacks from MXDiagnosticPayload. This immediate diagnostic reporting handles crashes, hangs, and exceptions with stack trace analysis.

Do I need to integrate MetricKit with application lifecycle events for timely data capture?

Yes, integrating with application lifecycle events is required for timely data capture. This ensures MXMetricManager receives and processes payloads correctly during app state transitions.

Can I upload MetricKit telemetry to a custom analytics backend?

Yes, you can upload MetricKit telemetry to an analytics backend. After processing MXMetricPayload and MXDiagnosticPayload, the collected performance data and crash diagnostics can be transmitted to your custom server.