Re: [RFC] perf to ctf converter

From: Jiri Olsa
Date: Tue Jul 22 2014 - 07:26:05 EST


On Tue, Jul 22, 2014 at 08:58:17AM +0200, Sebastian Andrzej Siewior wrote:
> On 07/21/2014 08:35 PM, Jiri Olsa wrote:
> > On Mon, Jul 21, 2014 at 07:11:51PM +0200, Sebastian Andrzej Siewior wrote:
> >
> > heya,
> > I've got following build error:
> >
> > CC util/data-bt.o
> > util/data-bt.c: In function âadd_event_tracepoint_valueâ:
> > util/data-bt.c:293:3: error: implicit declaration of function âbt_ctf_event_class_get_field_by_nameâ [-Werror=implicit-function-declaration]
> > type = bt_ctf_event_class_get_field_by_name(
> > ^
> > util/data-bt.c:293:3: error: nested extern declaration of âbt_ctf_event_class_get_field_by_nameâ [-Werror=nested-externs]
> > util/data-bt.c:293:8: error: assignment makes pointer from integer without a cast [-Werror]
> > type = bt_ctf_event_class_get_field_by_name(
> > ^
> > cc1: all warnings being treated as errors
> > make[1]: *** [util/data-bt.o] Error 1
> > make: *** [all] Error 2
> >
> >
> > but I might be missing some of the babeltrace changes, my branch:
> > 5805251d8079 Fix: mmap trace read the stream_id from the first packet
>
> Hmm. This function should be there as of commit 2f100782231 in the
> master branch. However since my first post and now the babeltrace
> source got moved around a little and as a result you have some more
> header files.
> The function in question is defined in "babeltrace/ctf-ir/event.h" and
> included by "babeltrace/ctf-writer/event.h".

I've got it running... make LIBBABELTRACE_DIR=/opt/libbabeltrace/ ugh ;-)

[jolsa@krava perf]$ LD_LIBRARY_PATH=/opt/libbabeltrace/lib /opt/libbabeltrace/bin/babeltrace ./ctf-data/

[04:41:11.445378840] (+?.?????????) sched:sched_switch: { }, { pid = 5782, comm = "ls", prev_comm = [ [0] = "ls", [1] = "s", [2] = "", [3] = "f", [4] = "", [5] = "", [6] = "-x86_64-l", [7] = "x86_64-l", [8] = "86_64-l", [9] = "6_64-l", [10] = "_64-l", [11] = "64-l", [12] = "4-l", [13] = "-l", [14] = "l", [15] = "" ], prev_pid = 5782, prev_prio = 120, prev_state = 0x1, next_comm = [ [0] = "kworker/0:0", [1] = "worker/0:0", [2] = "orker/0:0", [3] = "rker/0:0", [4] = "ker/0:0", [5] = "er/0:0", [6] = "r/0:0", [7] = "/0:0", [8] = "0:0", [9] = ":0", [10] = "0", [11] = "", [12] = "", [13] = "", [14] = "", [15] = "" ], next_pid = 2376, next_prio = 120 }
[04:41:11.445390175] (+0.000011335) sched:sched_switch: { }, { pid = 5782, comm = "ls", prev_comm = [ [0] = "ls", [1] = "s", [2] = "", [3] = "f", [4] = "", [5] = "", [6] = "-x86_64-l", [7] = "x86_64-l", [8] = "86_64-l", [9] = "6_64-l", [10] = "_64-l", [11] = "64-l", [12] = "4-l", [13] = "-l", [14] = "l", [15] = "" ], prev_pid = 5782, prev_prio = 120, prev_state = 0x1, next_comm = [ [0] = "kworker/0:0", [1] = "worker/0:0", [2] = "orker/0:0", [3] = "rker/0:0", [4] = "ker/0:0", [5] = "er/0:0", [6] = "r/0:0", [7] = "/0:0", [8] = "0:0", [9] = ":0", [10] = "0", [11] = "", [12] = "", [13] = "", [14] = "", [15] = "" ], next_pid = 2376, next_prio = 120 }

...

looks like we need some better string arg handling,
but we'll get there soon or later

>
> > feel free to use/change my commits as you wish ;-)
>
> Thank you.
>
> >
> > I think the best would be to merge your changes with mine
> > into some meaningful patchset, before it goes to review
>
> Yeah. I merged some of the fixups back and for the data-bt.c changes,
> dunno. Either all my changes as a single patch or merge it back into
> yours as it doesn't make sense to post each incremental change.

we'd like to have single/compact change commits.. so far I think
we can go with following commits:

perf tools: VF=2 code
perf tools: Feature check for libbabeltrace
perf tools: Add new data command

and merge your changes/fixies into:
perf tools: Add perf data to CTF convertion support

if we could break the last one into more logical changes
it'd be nicer.. but if not, let's got from here

I'll prepare those 1st 3 patches.. and review your code while
getting familiar with ctf again ;-)

thanks,
jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/