Skip to main content

Error Tracking

Generates: Events (Log Records)

Manually report non-fatal errors — caught exceptions and handled error conditions that don't crash the app.

For automatic crash detection, see Crash Instrumentation.

Usage

// Report by message
PulseSDK.INSTANCE.trackNonFatal(
name = "API request failed",
observedTimeStampInMs = System.currentTimeMillis(),
params = mapOf("endpoint" to "/api/users", "status_code" to 500),
)

// Report a caught exception
try {
riskyOperation()
} catch (e: Exception) {
PulseSDK.INSTANCE.trackNonFatal(
throwable = e,
observedTimeStampInMs = System.currentTimeMillis(),
params = mapOf("context" to "payment_flow"),
)
}

When passing a Throwable, exception.type, exception.message, and exception.stacktrace are captured automatically.

Attributes

AttributeDescriptionAlways Present
pulse.type"non_fatal"
exception.typeException class name⚠️ Throwable only
exception.messageException message⚠️ Throwable only
exception.stacktraceFull stack trace⚠️ Throwable only
screen.nameCurrent screen⚠️ If available
Custom attributesAny params you pass⚠️ If provided