DocumentationDiscussions
DocumentationDiscussions

Internal Error Reporting

Internal error reporting allows administrators to opt-in to providing Datalust with error details when an unhandled error condition or exception occurs within a Seq instance.

📘

Seq does not send any error or usage information back to Datalust by default. When administrators opt-in to automatic error reporting, we can more efficiently detect and resolve issues with Seq.

Why enable internal error reporting?

Telemetry is an important tool for improving the quailty of Seq in diverse deployment scenarios. Seq writes unhandled error details to its internal log files, but:

  • Administrators may not be aware of the presence of errors in this file, and
  • It's laborious to check, collect, and then send these errors to Seq Support, especially because many will be benign/transient conditions
  • In many cases, it's difficult to ascertain whether an error is a once-off issue, or representative of a wider problem

Our goal is to enable administrators to turn on error reporting when it is appropriate. We don't expect error reporting to be turned on for all installations: in some high-sensitivity environments, we understand that even reporting of error messages will be undesirable. We want users to make an informed decision to help improve the quality of Seq when it is reasonable to do so.

Enabling error reporting

To opt-in, open the Settings > Diagnostics page and check the Automatically send internal error reports to Datalust tick box.

If you would like us to contact you about errors generated by this Seq installation, please include an email address where we can reach you.

The first time error reporting is enabled, a 20-character installation id will be generated so that errors from the same instance can be correlated.

Error report contents

The example below illustrates the level of detail that is collected by Datalust when error telemetry is turned on:

Time:      2018-11-15T20:10:19.8362537Z
Version:   5.0.9000
Instance:  j00foew4qjofe2ijofp4
Email:     [email protected]
Event:     Error serving {RequestUrl} (token: {ErrorToken}) 
Exception: System.InvalidOperationException: An er... ---> System.Net.WebException: The r...
   at System.Net.HttpWebRequest.GetResponse()
   at NuGet.RequestHelper.GetResponse(Func`1 createRequest, Action`1 prepareRequest,
       IProxyCache proxyCache, ICredentialCache credentialCache, ICredentialProvider credentialProvider)
   at NuGet.HttpClient.GetResponse()
   at NuGet.RedirectedHttpClient.GetResponseUri(HttpClient client)
   at NuGet.RedirectedHttpClient.EnsureClient()

(Field names are for descriptive purposes only.)

  • Time - the error timestamp
  • Version - the Seq version that generated the error report
  • Instance - the unique id assigned to the Seq instance reporting the error
  • Email - (if supplied,) the reply email address for the administrator of the Seq instance
  • Event - the message template describing the error condition, without any parameters substituted
  • Exception - the exception message formatted to include only the first five characters, stack trace and whitelisted properties such as HRESULT or ArgumentName; or, null if no exception is associated with the event

Values of event-specific properties like RequestUrl and ErrorToken will not be added to the report (only null placeholder tokens are included).

Error report retention

We collect and report on a sliding window of 30 days error telemetry information. We may retain individual reports for longer periods if they identify a bug that requires investigation.


Did this page help you?