diff options
author | Josh Blum | 2013-03-29 02:57:07 -0500 |
---|---|---|
committer | Josh Blum | 2013-03-29 02:57:07 -0500 |
commit | ca6d6b4a7786ecc3754532d85ed39da33684d5fc (patch) | |
tree | 58617d955e28cc88bb28d081dd96c2033d238e58 /lib/gras_impl | |
parent | 4d1cabf10e654faa3017225bc47763a1b80aab0f (diff) | |
download | sandhi-ca6d6b4a7786ecc3754532d85ed39da33684d5fc.tar.gz sandhi-ca6d6b4a7786ecc3754532d85ed39da33684d5fc.tar.bz2 sandhi-ca6d6b4a7786ecc3754532d85ed39da33684d5fc.zip |
gras: added hooks to query instantaneous state
Diffstat (limited to 'lib/gras_impl')
-rw-r--r-- | lib/gras_impl/input_buffer_queues.hpp | 11 | ||||
-rw-r--r-- | lib/gras_impl/stats.hpp | 6 |
2 files changed, 11 insertions, 6 deletions
diff --git a/lib/gras_impl/input_buffer_queues.hpp b/lib/gras_impl/input_buffer_queues.hpp index 6886e6e..48996ef 100644 --- a/lib/gras_impl/input_buffer_queues.hpp +++ b/lib/gras_impl/input_buffer_queues.hpp @@ -105,12 +105,6 @@ struct InputBufferQueues void push(const size_t i, const SBuffer &buffer); - GRAS_FORCE_INLINE void flush(const size_t i) - { - _queues[i].clear(); - _bitset.reset(i); - } - GRAS_FORCE_INLINE void fail(const size_t i) { _bitset.reset(i); @@ -148,6 +142,11 @@ struct InputBufferQueues _bitset.set(i, _enqueued_bytes[i] >= _reserve_bytes[i]); } + GRAS_FORCE_INLINE size_t get_items_enqueued(const size_t i) + { + return _enqueued_bytes[i]/_items_sizes[i]; + } + BitSet _bitset; std::vector<size_t> _items_sizes; std::vector<size_t> _enqueued_bytes; diff --git a/lib/gras_impl/stats.hpp b/lib/gras_impl/stats.hpp index 3f78b8d..7edab29 100644 --- a/lib/gras_impl/stats.hpp +++ b/lib/gras_impl/stats.hpp @@ -29,6 +29,7 @@ struct BlockStats time_ticks_t start_time; time_ticks_t stop_time; + //overall tracking of ports std::vector<item_index_t> items_consumed; std::vector<item_index_t> tags_consumed; std::vector<item_index_t> msgs_consumed; @@ -36,6 +37,11 @@ struct BlockStats std::vector<item_index_t> tags_produced; std::vector<item_index_t> msgs_produced; + //instantaneous port status + std::vector<size_t> items_enqueued; + std::vector<size_t> msgs_enqueued; + std::vector<size_t> tags_enqueued; + item_index_t work_count; time_ticks_t time_last_work; time_ticks_t total_time_prep; |