Skip to main content

Application error events

Exception (error) tracking captures any unhandled exceptions within the application.

All tracked events are self-describing events that follow the application_error schema.

application_error

Event
Schema for an application error
Schema URIiglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-2
Tracker compatibility
Web: Mobile: Tracked automatically:
Example
{
"programmingLanguage": "JAVA",
"message": "java.lang.OutOfMemoryError error raised",
"exceptionName": "java.lang.OutOfMemoryError",
"isFatal": true,
"threadName": "main",
"threadId": 1,
"lineNumber": 10,
"className": "android.graphics.BitmapFactory",
"stackTrace": "java.lang.OutOfMemoryError"
}
Schema
PropertyDescription
programmingLanguage
string
Required.
Must be one of: JAVA, SCALA, KOTLIN, GROOVY, RUBY, GOLANG, JAVASCRIPT, PHP, PYTHON, OBJECTIVEC, SWIFT, C, CPLUSPLUS, CSHARP, ACTIONSCRIPT, LUA, RUST, HASKELL, CLOJURE, ERLANG, ELIXIR, CRYSTAL, PONY, NIM
message
string
Required.
threadName
string
Optional.
threadId
integer
Optional.
stackTrace
string
Optional.
causeStackTrace
string
Optional.
lineNumber
integer
Optional.
className
string
Optional.
exceptionName
string
Optional.
isFatal
boolean
Optional.
lineColumn
integer
Optional.
fileName
string
Optional.
Warehouse query
select
unstruct_event_com_snowplowanalytics_snowplow_application_error_1_0_2
from
PIPELINE_NAME.events events
where
events.collector_tstamp > timestamp_sub(current_timestamp(), interval 1 hour)
and events.event = 'unstruct'
and events.event_name = 'application_error'
and events.event_vendor = 'com.snowplowanalytics.snowplow'

How to track?

Both our Web and mobile trackers provide an automatic exception tracking feature. Visit the following links to learn more about error tracking:

  1. On Web, using the error tracking plugin for the JavaScript tracker
  2. iOS and Android tracking documentation.

On this page