---
title: DiagnosticReport.Environment
framework: metrickit
role: symbol
role_heading: Structure
path: metrickit/diagnosticreport/environment-swift.struct
---

# DiagnosticReport.Environment

Device, app, and state metadata associated with a diagnostic report.

## Declaration

```swift
struct Environment
```

## Mentioned in

Analyzing app performance with MetricKit Monitoring app performance with MetricKit

## Discussion

Discussion DiagnosticReport.Environment carries device and app context alongside state and signpost data captured around the time of the diagnostic event. Access the app states that were active when the event occurred through states. Use signpostData to correlate signpost events with the diagnostic: for await report in manager.diagnosticReports {     let environment = report.environment     print(environment.osVersion, environment.applicationVersion)

for state in environment.states {         print(state.domain, state.label)     } }

## Topics

### Device information

- [deviceType](metrickit/diagnosticreport/environment-swift.struct/devicetype.md)
- [osVersion](metrickit/diagnosticreport/environment-swift.struct/osversion.md)
- [platformArchitecture](metrickit/diagnosticreport/environment-swift.struct/platformarchitecture.md)
- [regionFormat](metrickit/diagnosticreport/environment-swift.struct/regionformat.md)

### App information

- [applicationVersion](metrickit/diagnosticreport/environment-swift.struct/applicationversion.md)
- [isTestFlightApp](metrickit/diagnosticreport/environment-swift.struct/istestflightapp.md)

### System state

- [lowPowerModeEnabled](metrickit/diagnosticreport/environment-swift.struct/lowpowermodeenabled.md)

### State reporting context

- [states](metrickit/diagnosticreport/environment-swift.struct/states.md)

### Signpost data

- [signpostData](metrickit/diagnosticreport/environment-swift.struct/signpostdata.md)

### Instance Properties

- [applicationBuildVersion](metrickit/diagnosticreport/environment-swift.struct/applicationbuildversion.md)
- [bundleIdentifier](metrickit/diagnosticreport/environment-swift.struct/bundleidentifier.md)
- [pid](metrickit/diagnosticreport/environment-swift.struct/pid.md)

## Relationships

### Conforms To

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