extras/crash_test.conf
changeset 111 f827f3c50dcf
parent 107 6f411821b12b
child 116 39449f7dab99
equal deleted inserted replaced
110:d024bf1f4eab 111:f827f3c50dcf
       
     1 {
       
     2   Processor => {
       
     3     JobQueue => {
       
     4       Backend => {
       
     5         Minion => { Pg => "postgresql:///crashtest" },
       
     6       },
       
     7     },
       
     8     CrashProcessor => {
       
     9       Breakpad => {
       
    10         JSONStackwalker => 'stackwalker',
       
    11         SymbolsPath => 'data/breakpad-symbols/*',
       
    12       },
       
    13     },
       
    14     CrashSignatureExtractor => {
       
    15       C_Cpp => {
       
    16         GroupMaxDistance => 0.1,
       
    17         TopIrrelevant => [
       
    18           # Ignore these frames at the top of the stack when creating a crash signature (mostly exception handler and libc internal functions)
       
    19           "__cxxabiv1::__terminate",
       
    20           "__gnu_cxx::__verbose_terminate_handler",
       
    21           "std::terminate",
       
    22           "raise",
       
    23           "abort",
       
    24         ],
       
    25         TopFrame => [
       
    26           # Consider these frames as the first (from top) relevant frame of the crash
       
    27           # Order is important here, the first match will be selected
       
    28           qr/std::__throw_[a-z]+_error/,
       
    29           "__cxxabiv1::__cxa_throw",
       
    30         ],
       
    31         BottomIrrelevant => [
       
    32           # Ignore these frames at the bottom of the stack (libc internal functions)
       
    33           "__libc_start_main",
       
    34           "_init",
       
    35         ],
       
    36         BottomFrame => [
       
    37           # Don't use frames past this one in the signature
       
    38           #"main",
       
    39         ],
       
    40         RemoveNamespace => [
       
    41           # Clean function names by removing the namespace
       
    42           #"some_ns::",
       
    43         ],
       
    44       },
       
    45     },
       
    46   },
       
    47   Storage => [
       
    48     { Type => "Sql",  db => { Pg => "postgresql:///crashtest" } },
       
    49     { Type => "File", DataDir => 'data/crashs/' },
       
    50   ],
       
    51   WebInterface => {
       
    52     ScmLinks => {
       
    53       "svn:svn.example.org/testproject" => 'https://redmine.example.org/projects/testproject/repository/entry/<%= $scmpath =%>?rev=<%= $rev =%>#L<%= $line =%>',
       
    54     },
       
    55     ExtraColumns => {
       
    56       Index => [
       
    57         { id => 'os'        , db_column => "crash_user.os", name => 'Operating System' },
       
    58         { id => 'cpu_count' , db_column => "crash_user.cpu_count", name => "CPU count" },
       
    59         { id => 'program'   , db_column => "main_module", name => 'Program' },
       
    60       ],
       
    61       GroupIndex => [
       
    62         { id => 'program'   , db_column => "string_agg(distinct(main_module), ', ')", name => 'Programs' },
       
    63       ],
       
    64       Search => [
       
    65         { id => 'cpu_count' , db_column => "crash_user.cpu_count", name => "CPU count" },
       
    66         { id => 'program'   , db_column => "main_module", name => 'Program' },
       
    67       ],
       
    68     },
       
    69   },
       
    70 };
       
    71 # vim:ft=perl: