From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755055AbcBWTWM (ORCPT ); Tue, 23 Feb 2016 14:22:12 -0500 Received: from mx1.redhat.com ([209.132.183.28]:50648 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754577AbcBWTWK (ORCPT ); Tue, 23 Feb 2016 14:22:10 -0500 Date: Tue, 23 Feb 2016 20:22:01 +0100 From: Jiri Olsa To: Wang Nan Cc: Alexei Starovoitov , Arnaldo Carvalho de Melo , Arnaldo Carvalho de Melo , Brendan Gregg , Adrian Hunter , Cody P Schafer , "David S. Miller" , He Kuang , =?iso-8859-1?Q?J=E9r=E9mie?= Galarneau , Jiri Olsa , Kirill Smelkov , Li Zefan , Masami Hiramatsu , Namhyung Kim , Peter Zijlstra , pi3orama@163.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH 11/48] perf data: Support converting data from bpf_perf_event_output() Message-ID: <20160223192201.GA23528@krava.redhat.com> References: <1456132275-98875-1-git-send-email-wangnan0@huawei.com> <1456132275-98875-12-git-send-email-wangnan0@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1456132275-98875-12-git-send-email-wangnan0@huawei.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 22, 2016 at 09:10:38AM +0000, Wang Nan wrote: SNIP > usleep 14942 92503.298562: evt: ffffffff810585e9 kretprobe_trampoline_holder (/lib.... > > # ./perf data convert --to-ctf ./out.ctf > [ perf data convert: Converted 'perf.data' into CTF data './out.ctf' ] > [ perf data convert: Converted and wrote 0.000 MB (2 samples) ] > > # babeltrace ./out.ctf > [01:41:43.198504134] (+?.?????????) evt: { cpu_id = 0 }, { perf_ip = 0xFFFFFFFF810E0BA1, perf_tid = 14942, perf_pid = 14942, perf_id = 1044, raw_len = 3, raw_data = [ [0] = 0x32C0C07B, [1] = 0x5421, [2] = 0x1 ] } > [01:41:43.298562257] (+0.100058123) evt: { cpu_id = 0 }, { perf_ip = 0xFFFFFFFF810585E9, perf_tid = 14942, perf_pid = 14942, perf_id = 1044, raw_len = 3, raw_data = [ [0] = 0x38B77FAA, [1] = 0x5421, [2] = 0x2 ] } > > # cat ./test_bpf_output_2.py > from babeltrace import TraceCollection > tc = TraceCollection() > tc.add_trace('./out.ctf', 'ctf') > d = {1:[], 2:[]} > for event in tc.events: > if not event.name.startswith('evt'): > continue > raw_data = event['raw_data'] > (time, type) = ((raw_data[0] + (raw_data[1] << 32)), raw_data[2]) > d[type].append(time) > print(list(map(lambda i: d[2][i] - d[1][i], range(len(d[1]))))); > > # python3 ./test_bpf_output_2.py > [100056879] > Acked-by: Jiri Olsa looks good to me.. also note I just compiled, haven't tried the example above.. too far in bpf land for me ATM ;-) thanks, jirka