• Chris Phlipot's avatar
    perf script: Enable db export to output sampled callchains · 0a3eba3a
    Chris Phlipot authored
    This change enables the db export api to export callchains. This is
    accomplished by adding callchains obtained from samples to the
    call_path_root structure and exporting them via the current call path
    export API.
    
    While the current API does support exporting call paths, this is not
    supported when sampling. This commit addresses that missing feature by
    allowing the export of call paths when callchains are present in
    samples.
    
    Summary:
    
    - This feature is activated by initializing the call_path_root member
      inside the db_export structure to a non-null value.
    
    - Callchains are resolved with thread__resolve_callchain() and then stored
      and exported by adding a call path under call path root.
    - Symbol and DSO for each callchain node are exported via db_ids_from_al()
    
    This commit puts in place infrastructure to be used by subsequent commits,
    and by itself, does not introduce any user-visible changes.
    Signed-off-by: default avatarChris Phlipot <cphlipot0@gmail.com>
    Acked-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/1461831551-12213-4-git-send-email-cphlipot0@gmail.com
    [ Made adjustments suggested by Adrian Hunter, see thread via this cset's Link: tag ]
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    0a3eba3a
db-export.c 11.4 KB