---
title: MetricResult
framework: metrickit
role: symbol
role_heading: Enumeration
path: metrickit/metricresult
---

# MetricResult

An enumeration that represents a single metric value from a metric report entry.

## Declaration

```swift
enum MetricResult
```

## Mentioned in

Analyzing app performance with MetricKit

## Discussion

Discussion MetricResult unifies all metric types into a single enum. You receive MetricResult values by iterating the values array on a MetricReport.IntervalEntry, or the values array on a MetricReport.StateEntry. for result in entry.values {     switch result {     case .cpuTime(let metric):         process(metric)     case .peakMemory(let metric):         process(metric)     case .hangTime(let metric):         process(metric)     @unknown default:         break     } } Use the metricGroup property to filter or categorize results without exhaustive switching when you only need a subset of metric types. This type replaces the typed metric properties of MXMetricPayload, such as cpuMetrics, memoryMetrics, and networkTransferMetrics.

## Topics

### Metric group

- [metricGroup](metrickit/metricresult/metricgroup.md)

### Responsiveness and animation

- [MetricResult.hangTime(_:)](metrickit/metricresult/hangtime(_:).md)
- [MetricResult.hitchTime(_:)](metrickit/metricresult/hitchtime(_:).md)
- [MetricResult.scrollHitchTime(_:)](metrickit/metricresult/scrollhitchtime(_:).md)

### App runtime

- [MetricResult.foregroundTermination(_:)](metrickit/metricresult/foregroundtermination(_:).md)
- [MetricResult.backgroundTermination(_:)](metrickit/metricresult/backgroundtermination(_:).md)
- [MetricResult.totalForegroundTime(_:)](metrickit/metricresult/totalforegroundtime(_:).md)
- [MetricResult.totalBackgroundTime(_:)](metrickit/metricresult/totalbackgroundtime(_:).md)
- [MetricResult.totalBackgroundAudioTime(_:)](metrickit/metricresult/totalbackgroundaudiotime(_:).md)
- [MetricResult.totalBackgroundLocationTime(_:)](metrickit/metricresult/totalbackgroundlocationtime(_:).md)
- [MetricResult.locationActivityTime(_:)](metrickit/metricresult/locationactivitytime(_:).md)
- [MetricResult.signpostInterval(_:)](metrickit/metricresult/signpostinterval(_:).md)

### CPU and memory

- [MetricResult.cpuTime(_:)](metrickit/metricresult/cputime(_:).md)
- [MetricResult.cpuInstructionsCount(_:)](metrickit/metricresult/cpuinstructionscount(_:).md)
- [MetricResult.peakMemory(_:)](metrickit/metricresult/peakmemory(_:).md)
- [MetricResult.suspendedMemory(_:)](metrickit/metricresult/suspendedmemory(_:).md)

### Network

- [MetricResult.totalWiFiUpload(_:)](metrickit/metricresult/totalwifiupload(_:).md)
- [MetricResult.totalWiFiDownload(_:)](metrickit/metricresult/totalwifidownload(_:).md)
- [MetricResult.totalCellularUpload(_:)](metrickit/metricresult/totalcellularupload(_:).md)
- [MetricResult.totalCellularDownload(_:)](metrickit/metricresult/totalcellulardownload(_:).md)
- [MetricResult.cellularConditionTime(_:)](metrickit/metricresult/cellularconditiontime(_:).md)

### App launch

- [MetricResult.timeToFirstDraw(_:)](metrickit/metricresult/timetofirstdraw(_:).md)
- [MetricResult.applicationResumeTime(_:)](metrickit/metricresult/applicationresumetime(_:).md)
- [MetricResult.optimizedTimeToFirstDraw(_:)](metrickit/metricresult/optimizedtimetofirstdraw(_:).md)
- [MetricResult.extendedLaunch(_:)](metrickit/metricresult/extendedlaunch(_:).md)

### Storage

- [MetricResult.logicalDiskWrites(_:)](metrickit/metricresult/logicaldiskwrites(_:).md)
- [MetricResult.totalFileCount(_:)](metrickit/metricresult/totalfilecount(_:).md)
- [MetricResult.totalFileSize(_:)](metrickit/metricresult/totalfilesize(_:).md)
- [MetricResult.totalDiskSpaceCapacity(_:)](metrickit/metricresult/totaldiskspacecapacity(_:).md)

### Display and GPU

- [MetricResult.pixelLuminance(_:)](metrickit/metricresult/pixelluminance(_:).md)
- [MetricResult.gpuTime(_:)](metrickit/metricresult/gputime(_:).md)
- [MetricResult.metalFrameRate(_:)](metrickit/metricresult/metalframerate(_:).md)

## Relationships

### Conforms To

- [Decodable](swift/decodable.md)
- [Encodable](swift/encodable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Result types

- [MetricGroup](metrickit/metricgroup.md)
- [DiagnosticResult](metrickit/diagnosticresult.md)
