Crash Instrumentation
Generates: Events (Log Records)
Automatically captures uncaught Java/Kotlin exceptions by installing a default uncaught exception handler.
Configuration
Enabled by default. To disable:
PulseSDK.INSTANCE.initialize(
application = this,
apiKey = "your-api-key",
dataCollectionState = PulseDataCollectionConsent.ALLOWED,
) {
crashReporter { enabled(false) }
}
What Gets Tracked
- Uncaught Java/Kotlin exceptions
- Full stack trace
- Thread ID and name where the crash occurred
- System state at crash time: battery percentage, free heap, free storage, network connection type
- Current screen name (if available)
Attributes
| Attribute | Description | Always Present |
|---|---|---|
pulse.type | "device.crash" | ✅ |
exception.type | Exception class name | ✅ |
exception.message | Exception message | ✅ |
exception.stacktrace | Full stack trace | ✅ |
thread.id | Thread ID | ✅ |
thread.name | Thread name | ✅ |
battery.percent | Battery % at crash time | ✅ |
heap.free | Free heap memory (bytes) | ✅ |
storage.free | Free storage (bytes) | ✅ |
network.connection.type | Connection type | ✅ |
screen.name | Current screen | ⚠️ If available |
Related
- Error Tracking — Manually report non-fatal errors