From 6b34ea21187d0016b097b2bcac2f56cd4e2df38a Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Fri, 1 Sep 2023 14:26:10 -0700 Subject: [PATCH] libsysprof: fix merging of similar processes We want the "similar process" key to be the argv[0] or something close to it so that we can coalesce across processes with different arguments. --- src/libsysprof/sysprof-document.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libsysprof/sysprof-document.c b/src/libsysprof/sysprof-document.c index 61d01ada..0e6044dd 100644 --- a/src/libsysprof/sysprof-document.c +++ b/src/libsysprof/sysprof-document.c @@ -828,6 +828,8 @@ sysprof_document_load_processes (SysprofDocument *self) if (cmdline != NULL) { GRefString *nick = g_ref_string_acquire (process_info->fallback_symbol->binary_nick); + g_auto(GStrv) split = g_strsplit (cmdline, " ", 2); + const char *shared_name = split[0] ? split[0] : cmdline; g_clear_object (&process_info->symbol); process_info->symbol = @@ -837,7 +839,7 @@ sysprof_document_load_processes (SysprofDocument *self) g_clear_object (&process_info->shared_symbol); process_info->shared_symbol = - _sysprof_symbol_new (sysprof_strings_get (self->strings, cmdline), + _sysprof_symbol_new (sysprof_strings_get (self->strings, shared_name), NULL, NULL, 0, 0, SYSPROF_SYMBOL_KIND_PROCESS); }