lkml.org 
[lkml]   [2016]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 2/5] perf script: extend db-export api to include callchains for samples
From
Date
On 19/04/16 11:56, Chris Phlipot wrote:
> The current implementation of the python database export API only
> includes call path information when using some form of call/return
> tracing, but is unable to do so when sampling.
>
> The following API extensions allow exporting of data collected by
> perf record when using --call-graph.
>
> The additions to the python api include the following:
> - add call_path_id to sample_table to allow association of samples
> with call paths
>
> - add dso_id to call_path_table to more closely align the data with that
> of a callchain_node

The call_paths table already has symbol_id which belongs uniquely to a DSO,
so why do we need dso_id as well?

>
> db-export and trace-script-python were both extended to accomidate the API

accomidate -> accommodate

> changes listed above.
>
> Thread-stack's functionality was expanded to allow storage and exporting
> of callchains that result from individual samples.
>
> - Introduced a new static function (thread_stack__process_callchain) to
> resolve call paths using the existing callchain resolution provided by
> thread__resolve_callchain
>
> - The existing call_path tree in call_return_processor is used for storing
> the data from the resolved callchain.
>
> - Call_return_processor was also extended to allow the ability to export
> full call paths in addtion to the existing individual call/return pairs,
> since call/return pairs are not available when doing sampling.

Why do you need a callback? Seems like the only thing you need from
thread-stack.c is the call path tree. You could move that to its own .c/.h
files and then process the call chain in db-export.c

Also a list of changes like the one above heavily implies you are not
obeying the one patch == one change rule. Please try to make patches that
only do one thing and also run checkpatch.

If you don't mind, I'll let you respond to my comments before I comment on
any other patches.

\
 
 \ /
  Last update: 2016-04-22 10:21    [W:0.111 / U:0.400 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site