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.

Event: application_error

Schema for an application error

Schema URI:iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-2

WebMobileTracked 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 properties definition
PropertyTypeDescriptionRequired?
programmingLanguageOne 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"โœ…
threadName["string","null"]โŒ
threadId["integer","null"]โŒ
stackTrace["string","null"]โŒ
causeStackTrace["string","null"]โŒ
lineNumber["integer","null"]โŒ
className["string","null"]โŒ
exceptionName["string","null"]โŒ
isFatal["boolean","null"]โŒ
lineColumn["integer","null"]โŒ
fileName["string","null"]โŒ
โ“ How to query the event in the warehouse?
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.