We want to start logging errors of interest or concern to our backend so that we can have more visibility into issues users may be having, such as hanging launch times, etc. Per @Dbrant, we should use the existing app/base schema.
- Create new ErrorFunnel that logs to app/base schema. Stream name TBD.
Proposed structure:
action: "error"
action_context: stuffed json object with "domain" and "code" fields.
- instrument_name**: Area of error. Can be a feature name identifier or an insightful area of the codebase like "launch_sequence". TBD on if we have approval to use this.
domain: String
Error type / namespace. This would include the name of our custom errors (like WMFData.WMFCoreDataStoreError) or a generic system error type (like NSURLErrorDomain)
code: String
Specific error case. In our case this could be another custom error name (like setupMissingDataModelFileURL) or a generic system error code (like -1000)
- Log launch sequence errors for now.