From: David Ahern <daahern@cisco.com>
To: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: Frederic Weisbecker <fweisbec@gmail.com>,
Ingo Molnar <mingo@elte.hu>,
linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
peterz@infradead.org, paulus@samba.org,
Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: [PATCH 3/3] perf events: add timehist option to record and report
Date: Fri, 18 Feb 2011 11:47:55 -0700 [thread overview]
Message-ID: <4D5EBEDB.8070503@cisco.com> (raw)
In-Reply-To: <20110218184119.GC302@ghostprotocols.net>
On 02/18/11 11:41, Arnaldo Carvalho de Melo wrote:
> Em Fri, Feb 18, 2011 at 06:59:30PM +0100, Frederic Weisbecker escreveu:
>> sched:sched_wait_task [Tracepoint event]
>> sched:sched_wakeup [Tracepoint event]
>> sched:sched_wakeup_new [Tracepoint event]
>> sched:sched_switch [Tracepoint event]
>> sched:sched_migrate_task [Tracepoint event]
>> sched:sched_process_free [Tracepoint event]
>> sched:sched_process_exit [Tracepoint event]
>>
>>
>> You have the sched:sched_switch event and many others.
>>
>> Just try:
>>
>> perf record -a -e sched:*
>> perf script
>>
>> perf-4128 [000] 19242.870025: sched_stat_runtime: comm=perf pid=4128 runtime=7430405 [ns] vruntime=3530192223488
>> perf-4128 [000] 19242.870042: sched_stat_runtime: comm=perf pid=4128 runtime=23142 [ns] vruntime=3530192246630 [n
>> perf-4128 [000] 19242.870045: sched_stat_sleep: comm=kondemand/0 pid=59 delay=9979163 [ns]
>> perf-4128 [000] 19242.870048: sched_wakeup: comm=kondemand/0 pid=59 prio=120 success=1 target_cpu=000
>> perf-4128 [000] 19242.870063: sched_stat_runtime: comm=perf pid=4128 runtime=21581 [ns] vruntime=3530192268211 [n
>> perf-4128 [000] 19242.870066: sched_stat_wait: comm=kondemand/0 pid=59 delay=21581 [ns]
>> perf-4128 [000] 19242.870069: sched_switch: prev_comm=perf prev_pid=4128 prev_prio=120 prev_state=R ==> next_comm
>> kondemand/0-59 [000] 19242.870091: sched_stat_runtime: comm=kondemand/0 pid=59 runtime=27362 [ns] vruntime=35301862739
>> kondemand/0-59 [000] 19242.870094: sched_stat_wait: comm=perf pid=4128 delay=27362 [ns]
>> kondemand/0-59 [000] 19242.870095: sched_switch: prev_comm=kondemand/0 prev_pid=59 prev_prio=120 prev_state=S ==> next
>>
>> And you can run your own script on these events:
>>
>> $ sudo ./perf script -g python
>> generated Python script: perf-script.py
>>
>> Edit perf-script.py and then run it:
>>
>> $ perf script -s ./perf-script.py
>>
>> That also works for perl.
>>
>> The timestamps will be the cpu time and not the walltime, but at least that seems
>> to be partly what you seek?
>
> The whole issue for him, AFAIK, is to correlate perf events with app
> events.
>
> Think about tcpdump + networking tracepoints or 'perf probe' dynamic
> events in the network stack, he wants to merge those logs and correlate
> the tcpdump packet exchange with the tracepoints events in the network
> stack, etc.
>
> I.e. it doesn't matter if it is ftrace or not, having a common clock
> shared between apps and kernel tracing/whatever infrastructure is what
> David is after, right?
A means of correlating the two, yes.
>
> He can change userspace to use the clock the kernel is using in the
> perf/ftrace/whatever infrastructure or make the kernel use the clock
> userspace uses.
>
> The issue here is who will bend, u or k ;-)
It makes sense for ftrace, perf, etc to use a monotonic clock. That
timestamp is nonsense to users (just a string of numbers) and
application writers like those pretty little strings that relate to time
has humans acknowledge it.
David
>
> - Arnaldo
next prev parent reply other threads:[~2011-02-18 18:47 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-18 5:53 [PATCH 0/3] perf events: Add realtime clock event and timehist option David Ahern
2011-02-18 5:53 ` [PATCH 1/3] perf events: fix WARN_ON_ONCE for 64-bit raw data, SW events David Ahern
2011-02-18 11:00 ` Peter Zijlstra
2011-02-18 14:33 ` David Ahern
2011-02-18 14:53 ` Arnaldo Carvalho de Melo
2011-02-18 15:01 ` Peter Zijlstra
2011-02-18 17:04 ` Arnaldo Carvalho de Melo
2011-02-18 17:13 ` Peter Zijlstra
2011-02-18 17:15 ` David Ahern
2011-02-18 17:17 ` David Ahern
2011-02-18 14:55 ` Peter Zijlstra
2011-02-18 15:28 ` David Ahern
2011-02-18 15:51 ` Peter Zijlstra
2011-02-18 5:53 ` [PATCH 2/3] perf events: Introduce realtime clock event David Ahern
2011-02-18 11:14 ` Peter Zijlstra
2011-02-18 14:39 ` David Ahern
2011-02-18 14:58 ` Peter Zijlstra
2011-02-18 15:35 ` David Ahern
2011-02-18 15:39 ` David Ahern
2011-02-20 12:49 ` Ingo Molnar
2011-02-18 5:53 ` [PATCH 3/3] perf events: add timehist option to record and report David Ahern
2011-02-18 7:06 ` Ingo Molnar
2011-02-18 14:28 ` David Ahern
2011-02-18 17:59 ` Frederic Weisbecker
2011-02-18 18:07 ` David Ahern
2011-02-18 18:39 ` Peter Zijlstra
2011-02-18 18:45 ` David Ahern
2011-02-19 9:32 ` Ingo Molnar
2011-02-19 14:38 ` Arnaldo Carvalho de Melo
2011-02-18 19:24 ` Frederic Weisbecker
2011-02-18 19:53 ` David Ahern
2011-02-21 21:13 ` Frederic Weisbecker
2011-02-18 18:41 ` Arnaldo Carvalho de Melo
2011-02-18 18:47 ` David Ahern [this message]
2011-02-18 18:53 ` David Ahern
2011-02-18 19:06 ` Arnaldo Carvalho de Melo
2011-02-18 19:29 ` Frederic Weisbecker
2011-02-18 20:30 ` Arnaldo Carvalho de Melo
2011-02-21 21:17 ` Frederic Weisbecker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D5EBEDB.8070503@cisco.com \
--to=daahern@cisco.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@ghostprotocols.net \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.