--- 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:
--- /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: