From: Jens Axboe <axboe@kernel.dk>
To: linux-btrace@vger.kernel.org
Subject: Re: Events out of order
Date: Wed, 31 Dec 2014 15:19:51 +0000 [thread overview]
Message-ID: <54A41417.9000501@kernel.dk> (raw)
In-Reply-To: <54A355D2.5060704@ubuntu.com>
On 12/31/2014 08:09 AM, Phillip Susi wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 12/31/2014 9:58 AM, Chris Mason wrote:
>> It's been a while since I looked at this, but looks like blkparse
>> has a pipeline mode and a more exact mode. In pipeline mode, it's
>> really trying to get data to the screen quickly and without using a
>> huge amount of resources. In order to put things in order, it
>> would need to buffer the entire stream before outputting anything.
>> So instead it works in chunks, which is what you're seeing.
>
> Makes sense; it would be nice if the man page mentioned this drawback.
>
>> It enables pipeline mode when the input file from -i is a pipe.
>> You'll get better results if you allow blktrace to output into a
>> collection of files and pass the prefix to blkparse.
>>
>> instead of blktrace -o - use blktrace -o prefix ; blkparse -i
>> prefix
>>
>> For multiple devices, iowatcher uses a directory to store all of
>> them, which is easier.
>>
>> If you really want a single file result, take the per-cpu files
>> from blktrace, run them through blkparse and add -d dumpfile, which
>> will sort and pack all the results into a single binary file. It's
>> compressable and you can then delete all the per-cpu files.
>
> Thanks; I thought I read something like that at one point but couldn't
> find it in the man page last night.
What Chris writes is completely correct. Pre-process the per-cpu files
and use that binary sorted trace file for the inspection (or replay) tools.
BTW, the behavior is documented in the README:
----
If you want to do live tracing, you can pipe the data between blktrace
and blkparse:
% blktrace -d <device> -o - | blkparse -i -
This has a small risk of displaying some traces a little out of sync,
since it will do batch sorts of input events.
----
But I agree, would not hurt to put this in the man pages too.
--
Jens Axboe
prev parent reply other threads:[~2014-12-31 15:19 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-31 1:48 Events out of order Phillip Susi
2014-12-31 1:51 ` Phillip Susi
2014-12-31 1:53 ` Alireza Haghdoost
2014-12-31 3:23 ` Phillip Susi
2014-12-31 4:29 ` Alireza Haghdoost
2014-12-31 14:36 ` Phillip Susi
2014-12-31 14:58 ` Chris Mason
2014-12-31 15:09 ` Phillip Susi
2014-12-31 15:19 ` Jens Axboe [this message]
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=54A41417.9000501@kernel.dk \
--to=axboe@kernel.dk \
--cc=linux-btrace@vger.kernel.org \
/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.