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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).