Allow showing a group by the uuid of any of it's individual crash
This removes the dependency on insertion order.
Also split Group::stats_by_product_and_version from get
{
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: