Re: [Discuss-gnuradio] Profiling Gnuradio message based blocks
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
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
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
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