summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/lib/runtime/gr_block.h
diff options
context:
space:
mode:
authorTom Rondeau2013-02-15 16:24:39 -0500
committerTom Rondeau2013-02-15 16:24:39 -0500
commitd1735360bc7bfb04be56f2b255a0b84b4db31b84 (patch)
tree2a3e63cc9ec2a23418b72aacefdfbee883f56758 /gnuradio-core/src/lib/runtime/gr_block.h
parent6408376d7a1b59533100870bd2d1c392bfbf7864 (diff)
downloadgnuradio-d1735360bc7bfb04be56f2b255a0b84b4db31b84.tar.gz
gnuradio-d1735360bc7bfb04be56f2b255a0b84b4db31b84.tar.bz2
gnuradio-d1735360bc7bfb04be56f2b255a0b84b4db31b84.zip
core: adding variance calcs to perf. counters.
Using running mean/variance algorithm from Knuth's Art of Computer Programming.
Diffstat (limited to 'gnuradio-core/src/lib/runtime/gr_block.h')
-rw-r--r--gnuradio-core/src/lib/runtime/gr_block.h41
1 files changed, 40 insertions, 1 deletions
diff --git a/gnuradio-core/src/lib/runtime/gr_block.h b/gnuradio-core/src/lib/runtime/gr_block.h
index bd9ff42df..6e21d5b97 100644
--- a/gnuradio-core/src/lib/runtime/gr_block.h
+++ b/gnuradio-core/src/lib/runtime/gr_block.h
@@ -383,35 +383,74 @@ class GR_CORE_API gr_block : public gr_basic_block {
float pc_noutput_items();
/*!
+ * \brief Gets variance of noutput_items performance counter.
+ */
+ float pc_noutput_items_var();
+
+ /*!
* \brief Gets average num items produced performance counter.
*/
float pc_nproduced();
/*!
- * \brief Gets average average fullness of \p which input buffer.
+ * \brief Gets variance of num items produced performance counter.
+ */
+ float pc_nproduced_var();
+
+ /*!
+ * \brief Gets average fullness of \p which input buffer.
*/
float pc_input_buffers_full(int which);
/*!
+ * \brief Gets variance of fullness of \p which input buffer.
+ */
+ float pc_input_buffers_full_var(int which);
+
+ /*!
* \brief Gets average fullness of all input buffers.
*/
std::vector<float> pc_input_buffers_full();
/*!
+ * \brief Gets variance of fullness of all input buffers.
+ */
+ std::vector<float> pc_input_buffers_full_var();
+
+ /*!
* \brief Gets average fullness of \p which input buffer.
*/
float pc_output_buffers_full(int which);
/*!
+ * \brief Gets variance of fullness of \p which input buffer.
+ */
+ float pc_output_buffers_full_var(int which);
+
+ /*!
* \brief Gets average fullness of all output buffers.
*/
std::vector<float> pc_output_buffers_full();
+ /*!
+ * \brief Gets variance of fullness of all output buffers.
+ */
+ std::vector<float> pc_output_buffers_full_var();
/*!
* \brief Gets average clock cycles spent in work.
*/
float pc_work_time();
+ /*!
+ * \brief Gets average clock cycles spent in work.
+ */
+ float pc_work_time_var();
+
+ /*!
+ * \brief Resets the performance counters
+ */
+ void reset_perf_counters();
+
// ----------------------------------------------------------------------------
// Functions to handle thread affinity