CloudServices/Sync/FxSync/Syncorro

< CloudServices‎ | Sync‎ | FxSync
Revision as of 16:49, 12 June 2011 by Philikon (talk | contribs)

Goals

  • Simplify error reporting, especially for users who file bugs (no more telling them to enable logging, manually uploading the file, etc.)
  • Get statistics on error frequency (to help with prioritization)
  • Detect the "long tail" of problems that are never filed

Proposal 1: a dedicated service

  • If it encounters a non-trivial error, Sync uploads the log to the service via HTTPS POST.
  • Lines with TRACE are automatically removed as they often contain sensitive information (need to audit Sync's logging for this!)

Proposal 2: upload to Sync db

Same as Proposal 1, but instead of uploading to a dedicated server, Sync would uploaded the logs to a special collection on the user's Sync node.

Comparing to proposal 1

  • Pro: No new server infrastructure required, scales as the Sync backend is scaled. (The client is pretty much oblivious to *where* the data is uploaded.)
  • Con: If the user's Sync node is experiencing problems, the error report may not be uploaded. So a failure in the Sync db would also inhibit the client from uploading the logs about it.
  • Con: We won't get any data from people with custom servers.
  • Con: Logging data normally contains data that's less confidential than the Sync data itself, but when it does it won't be encrypted. Thus it would make sense to have a separate service that has separate infrasec requirements.
  • Con: The URL to identify an error will point to the user's node and will thus require the user's credentials to access: impractical

Questions

  • Should this be
    • always on and not configurable, or
    • ask after every error (with the option to remember the user's choice for future incidents),
    • off by default and opt in, or
    • on by default and opt out?
  • Will this service require ToS changes?