Hey guys,

I managed to solve my problems with finding TFrozenDict and everything
seems to work now (grc, the ctrlpot monitor, perf monitor, etc).

I was going to clone the apache-thrift library directly into my gnuradio
installation and build (manually replace thrift), but before I messed any
gnuradio stuff up, I manually copy and pasted the class from the src code
into Thrift.py (where TFrozenDict is declared, initialized, and defined in
the most up to date source code). That solved the ImportError; I also had
to make a slight adjustment to TBinaryProtocol, had to a function
readBinary to it (again, copy and pasted from the source code). This solved
the issues. I basically found what needed to be updated by looking at the
error output of gr-perf-monitorx, and comparing lines referenced to source
code elsewhere.

I am going install gnuradio again in a separate directory using pybombs and
then manually install thrift. I think there might some type of bug or
missing dependency with PyBOMBs (I am however, using an older version of
PyBombs, which could explain this) that can't install all of
apache-thrift's dependencies, and then not installing thrift properly. That
said, when I run "gnuradio-config --enabled-components" I see "* thrift" in
the output, which the documentation and previous emails on the list say
indicates that thrift's backend was installed properly, fully.

If anyone was interested about the RFNoC blocks, my assumption that the
performance monitor would work but not say anything about the blocks was
true. The only blocks from RFNoC that will show up in the GUI or the
CtrlPort Monitor is whatever one is connected to the PC. In other words,
which block(s) on the flowgraph connect to non-RFNoC blocks. It will show
the buffer and runtime of the blocks.

-Richard

On Fri, Jul 1, 2016 at 10:29 AM, Richard Mcallister <rj...@bu.edu> wrote:

> Hey all,
>
> I'm trying to find a way to measure CPU usage and other measurements in
> some operation or flowgraph (the actual processes don't matter) and compare
> it to the same operation done after using RFNoC to shift the operations to
> a USRP. It seems like gr-perf-monitorx would be perfect.
>
> Unfortunately, every time I run the script, one of two ImportErrors
> occurs. The first involved PyQt4 and Qwt5 (fixed by installing from
> source). The next is this:
>
> Traceback (most recent call last):
>   File "/home/rich/Desktop/repos2/target/bin/gr-perf-monitorx", line 54,
> in <module>
>     from gnuradio.ctrlport.GrDataPlotter import *
>   File
> "/home/rich/Desktop/repos2/target/lib/python2.7/dist-packages/gnuradio/ctrlport/GrDataPlotter.py",
> line 26, in <module>
>     from gnuradio.ctrlport.GNURadio import ControlPort
>   File
> "/home/rich/Desktop/repos2/target/lib/python2.7/dist-packages/gnuradio/ctrlport/GNURadio/ControlPort.py",
> line 11, in <module>
>     from .ttypes import *
>   File
> "/home/rich/Desktop/repos2/target/lib/python2.7/dist-packages/gnuradio/ctrlport/GNURadio/ttypes.py",
> line 9, in <module>
>     from thrift.Thrift import TType, TMessageType, TFrozenDict,
> TException, TApplicationException
> ImportError: cannot import name TFrozenDict
>
> I've installed thrift 0.9.3 (because 0.9.2 is required for
> gr-perf-monitorx) and then reinstallled GNURadio using pybombs (by updating
> apache-thrift) to check if that resolved anything; I've also uninstalled
> and reinstalled thrift using pip (which shows version 0.9.3). Running
> "gnuradio-config-info --enabled-components" I can see "* thrift" on the
> list, so I know that GNU Radio has found it. Nothing changed.
>
> Finally, running python from my terminal, I can't find TFrozenDict within
> thrift by using dir(thrift.Thrift). Does GNU Radio use a custom thrift, or
> is there a better way to install and update?
>
> Thanks,
>
> Richard McAllister
>
> PS-does gr-perf-monitorx support RFNoC blocks? Its not mentioned online,
> but then, RFNoC is pretty new.
>
>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to