mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
libsysprof-analyze: add symbol kind property for symbols
Additionally, add the pid as the binary nick for processes so that we can show them in the callgraph with the process name.
This commit is contained in:
@ -208,11 +208,26 @@ sysprof_bundled_symbolizer_symbolize (SysprofSymbolizer *symbolizer,
|
||||
}
|
||||
|
||||
if (ret->offset < (self->endptr - self->beginptr))
|
||||
return _sysprof_symbol_new (sysprof_strings_get (strings, &self->beginptr[ret->offset]),
|
||||
NULL,
|
||||
g_steal_pointer (&tag),
|
||||
ret->addr_begin,
|
||||
ret->addr_end);
|
||||
{
|
||||
const char *name = &self->beginptr[ret->offset];
|
||||
SysprofSymbolKind kind;
|
||||
|
||||
if (g_str_has_prefix (name, "- -"))
|
||||
kind = SYSPROF_SYMBOL_KIND_CONTEXT_SWITCH;
|
||||
else if (context == SYSPROF_ADDRESS_CONTEXT_KERNEL)
|
||||
kind = SYSPROF_SYMBOL_KIND_KERNEL;
|
||||
else if (name[0] == '[')
|
||||
kind = SYSPROF_SYMBOL_KIND_PROCESS;
|
||||
else
|
||||
kind = SYSPROF_SYMBOL_KIND_USER;
|
||||
|
||||
return _sysprof_symbol_new (sysprof_strings_get (strings, name),
|
||||
NULL,
|
||||
g_steal_pointer (&tag),
|
||||
ret->addr_begin,
|
||||
ret->addr_end,
|
||||
kind);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user