wiki:Technical/Reporter

Reporter

Description of the system information reporter and crash reporter.


Overview

The Reporter will be split into two main functions:

  • System Information - This will let us know what platforms users are running Aegisub on helping us target development.
  • Crash Reports - Includes some system information with a backtrace and minidump using  google-breakpad.

Both of these will be submitted back to the project and stored in a database, they'll be presented in a developer-friendly way on a website.


Required

These are all required for any report to be valid, any other information in a report is optional. If we can't get this information then something went seriously wrong. The report is still useful in letting us know that but useless in trying to figure out the problem.

General

  • Date
  • Time
  • sha256 of Aegisub binary.
    • In the future when we have shared libraries or modules those will be included as well.

Aegisub

  • Version
  • Revision
  • Last version before upgrade
  • Upgrade or New install.

System Information

This is a list of information we should gather when submitting on first run or when a crash happens.

Aegisub

  • Language

All Platforms

  • OS Name (FreeBSD/Windows/Macintosh)
  • OS Family (Unix/Windows/Macintosh etc)
  • OS Version
  • CPU
    • Vendor or Vendor string
    • Speed
    • Count (number of cpus)
    • Cores per CPU
    • Features (FPU,VME,SEE,MTRR etc..)
    • Features2 (EST,TM2 etc)
  • Architecture
  • Amount of memory (physical)
  • Locale
  • Desktop
    • Resolution
    • Bit depth

Windows

  • Service pack level
  • Graphics card
    • Driver version
  • List of installed ACM/VCM codecs and DirectShow filters.
  • Operating Antivirus / Firewalls
  • DLL version info (used by aegisub)

Unix

  • Linked library versions

OS X

  • Patch level
  • QuickTime extentions installed:  Perian,  Flip4Mac, others?
  • Hardware model (hw.model)

Crash Reporting

This section relates to the information submitted when we crash.

Crash Information

  • Minidump (breakpad)
  • Stack trace (breakpad)
  • Workflow (only available when we get checkpointing)

Aegisub Information

Along with the information from System Information we will want to attach additional data related to Aegisub only.

  • Config file w/private information stripped out
  • Aegisub version
  • Aegisub revision
  • Type of audio loaded
  • Type of video loaded
  • Audio Provider
  • Audio Player
  • Video Provider

General Information

This information lets us know how common a crash may be, and what types of configurations are more unstable than others.

  • Time since last crash
  • Crashes since initial run
  • Crashes in the last 24 hours
  • Time of crash

Submission

Eventually this will hold information on how data is submitted to the server and how it is displayed.