Re: [Discuss-gnuradio] Profiling Gnuradio message based blocks

2017-08-15 Thread Marcus Müller

Dear Jeff,

from the top of my head:

the perf counters count the time a block spends in its work(), how many 
items were consumed and produced in calls to work(), as well as things 
as buffer fillage and such.


Well, all these things don't apply to message passing, since there's no 
call to work or ring buffers involved.


So, you'd need to formulate exactly what you'd want to measure, and in 
your block's constructor add the RPC variable, and make sure your 
message handler function does the benchmarking.


In general, you should probably add these variables to gr::block's 
constructor and have a "start_perf_counters_msg_handling" or so method 
(similar to the start_perf_counters() method) that you call before 
entering the message handling code in tpb_thread_body.


But note: this code is very ugly. Personally, tpb_thread_body shouldn't 
be doing the message handling, that should've been incorporated in 
block_executor. Now that you try to add perf counters, that introduces 
additional complexity, but that's still manageable. But it's yet another 
"bolt-on" for the current scheduler that makes it less beautiful :/ . 
Gotta rewrite that stuff (someday).


Cheers,

Marcus


On 08/15/2017 03:51 PM, Jeffrey Grasty wrote:

Hi,

I am trying to profile some message based blocks with performance 
monitor.  The message blocks appear in the gr-perf-monitorx; however, 
they do not appear in runtime table.  This questions asks same thing: 
https://lists.gnu.org/archive/html/discuss-gnuradio/2017-01/msg00121.html


It looks like a fix for this was incorporated in 3.7.10.2 
(https://github.com/gnuradio/gnuradio/pull/1119). I am running 
3.7.12.  Is there a configuration setting to enable profiling of 
message based blocks I am missing?


Thanks,

Jeff


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Profiling Gnuradio message based blocks

2017-08-15 Thread Jeffrey Grasty
Hi,

I am trying to profile some message based blocks with performance monitor.
The message blocks appear in the gr-perf-monitorx; however, they do not
appear in runtime table.  This questions asks same thing:
https://lists.gnu.org/archive/html/discuss-gnuradio/2017-01/msg00121.html

It looks like a fix for this was incorporated in 3.7.10.2 (
https://github.com/gnuradio/gnuradio/pull/1119). I am running 3.7.12.  Is
there a configuration setting to enable profiling of message based blocks I
am missing?

Thanks,

Jeff
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Profiling Gnuradio message based blocks

2017-01-15 Thread Jacob Gilbert
Hi Emanuel,

This is related to a larger issue in which the controlport interface (used
for performance monitoring in addition to other features) is only started
for blocks with at least one stream connection. I submitted a PR for this (
https://github.com/gnuradio/gnuradio/pull/1119) which be included in the
upcoming 3.7.10.2 but if you want it now you can easily patch it in.

Jacob


On Fri, Jan 13, 2017 at 1:13 AM,  wrote:

> Hi all,
>
>
>
> I managed to get Apache thrift up and running and configured by
> environment to use the control port and performance counters.
> gr-perf-monitorx works fine and shows me my flowgraph as intended.
>
> My flowgraph consists of several streaming based blocks and many purely
> message based blocks (message in / message out) between a USRP source and a
> USRP sink.
>
>
>
> My question now is: are purely message based blocks without a work
> function correctly profiled as well?
>
>
>
> I see my  message blocks appearing in the gr-perf-monitorx visualizer with
> a box around, where the box size indicates the runtime usage. However when
> I switch the view to the runtime table and have a look there, I do not see
> my purely message based blocks in the table. Only those blocks which have
> at least one streaming interface are visible there. Any ideas?
>
>
>
> Thanks in advance and thanks to Thomas Rondau et. al. for this kind of
> profiling functionality. A very convenient tool indeed.
>
>
>
> Regards,
>
> Emanuel
>
> ___
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Profiling Gnuradio message based blocks

2017-01-13 Thread Emanuel.Staudinger
Hi all,

I managed to get Apache thrift up and running and configured by environment to 
use the control port and performance counters. gr-perf-monitorx works fine and 
shows me my flowgraph as intended.
My flowgraph consists of several streaming based blocks and many purely message 
based blocks (message in / message out) between a USRP source and a USRP sink.

My question now is: are purely message based blocks without a work function 
correctly profiled as well?

I see my  message blocks appearing in the gr-perf-monitorx visualizer with a 
box around, where the box size indicates the runtime usage. However when I 
switch the view to the runtime table and have a look there, I do not see my 
purely message based blocks in the table. Only those blocks which have at least 
one streaming interface are visible there. Any ideas?

Thanks in advance and thanks to Thomas Rondau et. al. for this kind of 
profiling functionality. A very convenient tool indeed.

Regards,
Emanuel
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio