|
@@ -372,6 +372,19 @@ static PyObject *get_field_numeric_entry(struct event_format *event,
|
|
|
return obj;
|
|
|
}
|
|
|
|
|
|
+static const char *get_dsoname(struct map *map)
|
|
|
+{
|
|
|
+ const char *dsoname = "[unknown]";
|
|
|
+
|
|
|
+ if (map && map->dso) {
|
|
|
+ if (symbol_conf.show_kernel_path && map->dso->long_name)
|
|
|
+ dsoname = map->dso->long_name;
|
|
|
+ else
|
|
|
+ dsoname = map->dso->name;
|
|
|
+ }
|
|
|
+
|
|
|
+ return dsoname;
|
|
|
+}
|
|
|
|
|
|
static PyObject *python_process_callchain(struct perf_sample *sample,
|
|
|
struct perf_evsel *evsel,
|
|
@@ -427,14 +440,8 @@ static PyObject *python_process_callchain(struct perf_sample *sample,
|
|
|
}
|
|
|
|
|
|
if (node->map) {
|
|
|
- struct map *map = node->map;
|
|
|
- const char *dsoname = "[unknown]";
|
|
|
- if (map && map->dso) {
|
|
|
- if (symbol_conf.show_kernel_path && map->dso->long_name)
|
|
|
- dsoname = map->dso->long_name;
|
|
|
- else
|
|
|
- dsoname = map->dso->name;
|
|
|
- }
|
|
|
+ const char *dsoname = get_dsoname(node->map);
|
|
|
+
|
|
|
pydict_set_item_string_decref(pyelem, "dso",
|
|
|
_PyUnicode_FromString(dsoname));
|
|
|
}
|