Hi Stephane,

Thanks for the reply!

> What you are seeing is a side effect of monitoring probably lots of
> threads + aggregation.

Well, I suppose not since I monitor only single threaded applications
for now (SPEC 2006 suite to be specific).

Anyway, I think I solved this problem, at least in c program: the key
is to use a pseudo terminal instead of pipe (man openpty). In this
case threads are coming on the other side of the terminal in real time
without any kind of buffering.

Hope this helps.

--
Sincerely,

Sergey Blagodurov

On Mon, Jul 13, 2009 at 10:54 PM, stephane
eranian<eran...@googlemail.com> wrote:
> Sergey,
>
>
> I suspect that what you are seeing has nothing to do with printf buffering.
> The line is flushed out on \n.
>
> What you are seeing is a side effect of monitoring probably lots of
> threads + aggregation.
> There is no output until a sampling buffer fills up. With
> --smpl-entries=1, they fill up quickly
> but you may have lots of threads.
>
> On Thu, Jul 9, 2009 at 11:23 PM, Sergey Blagodurov<blagodu...@gmail.com> 
> wrote:
>> Hello,
>>
>> I was wondering if it's somehow possible to obtain the output from
>> pfmon unbuffered during sampling.
>>
>> What I want to do is to monitor a program's miss rate in real time
>> with pfmon using the following invocation:
>>
>> pfmon --attach-task <pid of the program to monitor>
>> --smpl-module=compact --smpl-entries=1 --long-smpl-periods=100000000
>> --follow-all --aggregate-results -0 -3
>> -eUNHALTED_CORE_CYCLES,L2_LINES_IN:SELF
>>
>> When I type it in the terminal, all is fine and strings for each
>> sample show up in real time as soon as they are available.
>>
>> Problems start when I try to obtain the same results within c program.
>> For that I create pipe and then redirect pfmon's stdout into this
>> pipe. in this case, the results show not in real time, but buffered as
>> 4k blocks, i.e. only after a block is full, it's being shown on the
>> other side of the pipe. The same output with delays between the blocks
>> can be obtained by issuing the following command:
>>
>> pfmon --attach-task <pid of the program to monitor>
>> --smpl-module=compact --smpl-entries=1 --long-smpl-periods=100000000
>> --follow-all --aggregate-results -0 -3
>> -eUNHALTED_CORE_CYCLES,L2_LINES_IN:SELF | cat
>>
>> or by writing into the sample file with --smpl-outfile option:
>>
>> pfmon --attach-task <pid of the program to monitor>
>> --smpl-module=compact --smpl-entries=1 --long-smpl-periods=100000000
>> --follow-all --aggregate-results -0 -3
>> -eUNHALTED_CORE_CYCLES,L2_LINES_IN:SELF --smpl-outfile=pfmon.log
>>
>> At first I thought that the problem is in the pipe itself. However,
>> the output from some other commands doesn't have this same feature.
>> For example, the following command brings lines as soon as they appear
>> without any kind of buffering:
>>
>> ping 127.0.0.1 | cat
>>
>> Any ideas how I can solve this issue are greatly appreciated.
>>
>> Thank you!
>>
>> --
>> Sincerely,
>>
>> Sergey Blagodurov
>>
>> ------------------------------------------------------------------------------
>> Enter the BlackBerry Developer Challenge
>> This is your chance to win up to $100,000 in prizes! For a limited time,
>> vendors submitting new applications to BlackBerry App World(TM) will have
>> the opportunity to enter the BlackBerry Developer Challenge. See full prize
>> details at: http://p.sf.net/sfu/Challenge
>> _______________________________________________
>> perfmon2-devel mailing list
>> perfmon2-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/perfmon2-devel
>>
>

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to