# HG changeset patch # User Vincent Tondellier # Date 1455485941 -3600 # Node ID 0e40a68ba421fc3c2b596a97bc598f67a9281431 # Parent aa2437932c036cdd903c44e3c1eca8bd4419916d Rename sample config and add more examples diff -r aa2437932c03 -r 0e40a68ba421 crash_test.conf --- a/crash_test.conf Sun Feb 14 20:25:24 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -{ - Processor => { - JobQueue => { - Backend => { - Minion => { Pg => "postgresql:///crashtest" }, - }, - }, - CrashProcessor => { - Breakpad => { - JSONStackwalker => 'stackwalker', - SymbolsPath => 'data/breakpad-debug-symbols/*', - }, - }, - }, - Storage => [ - { Type => "Sql", db => { Pg => "postgresql:///crashtest" } }, - { Type => "File", DataDir => 'data/crashs/' }, - ], - WebInterface => { - ScmLinks => { - "svn:svn.example.org/testproject" => 'https://redmine.example.org/projects/testproject/repository/entry/<%= $scmpath =%>?rev=<%= $rev =%>#L<%= $line =%>', - }, - ExtraColumns => { - Index => [ - { id => 'os', db_column => "crash_user.os", name => 'Operating System' }, - ], - }, - }, -}; -# vim:ft=perl: diff -r aa2437932c03 -r 0e40a68ba421 crash_test.conf.sample --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/crash_test.conf.sample Sun Feb 14 22:39:01 2016 +0100 @@ -0,0 +1,69 @@ +{ + Processor => { + JobQueue => { + Backend => { + Minion => { Pg => "postgresql:///crashtest" }, + }, + }, + CrashProcessor => { + Breakpad => { + JSONStackwalker => 'stackwalker', + SymbolsPath => 'data/breakpad-debug-symbols/*', + }, + }, + CrashSignatureExtractor => { + C_Cpp => { + GroupMaxDistance => 0.1, + TopIrrelevant => [ + # Ignore these frames at the top of the stack when creating a crash signature (mostly exception handler and libc internal functions) + "__cxxabiv1::__terminate", + "__gnu_cxx::__verbose_terminate_handler", + "std::terminate", + "raise", + "abort", + ], + TopFrame => [ + # Consider these frames as the first (from top) relevant frame of the crash + # Order is important here, the first match will be selected + qr/std::__throw_[a-z]+_error/, + "__cxxabiv1::__cxa_throw", + ], + BottomIrrelevant => [ + # Ignore these frames at the bottom of the stack (libc internal functions) + "__libc_start_main", + "_init", + ], + BottomFrame => [ + # Don't use frames past this one in the signature + #"main", + ], + RemoveNamespace => [ + # Clean function names by removing the namespace + #"some_ns::", + ], + }, + Storage => [ + { Type => "Sql", db => { Pg => "postgresql:///crashtest" } }, + { Type => "File", DataDir => 'data/crashs/' }, + ], + WebInterface => { + ScmLinks => { + "svn:svn.example.org/testproject" => 'https://redmine.example.org/projects/testproject/repository/entry/<%= $scmpath =%>?rev=<%= $rev =%>#L<%= $line =%>', + }, + ExtraColumns => { + Index => [ + { id => 'os' , db_column => "crash_user.os", name => 'Operating System' }, + { id => 'cpu_count' , db_column => "crash_user.cpu_count", name => "CPU count" }, + { id => 'program' , db_column => "main_module", name => 'Program' }, + ], + GroupIndex => [ + { id => 'program' , db_column => "string_agg(distinct(main_module), ', ')", name => 'Programs' }, + ], + Search => [ + { id => 'cpu_count' , db_column => "crash_user.cpu_count", name => "CPU count" }, + { id => 'program' , db_column => "main_module", name => 'Program' }, + ], + }, + }, +}; +# vim:ft=perl: