summaryrefslogtreecommitdiff
path: root/lib/output_handlers.cpp
diff options
context:
space:
mode:
authorJosh Blum2013-03-04 02:08:50 -0600
committerJosh Blum2013-03-04 02:08:50 -0600
commite2268f682b77fdff1db5ddc6c410e226eb3dc1d5 (patch)
tree82c03c9f1c6d13530dee211fd4548a63dc28d9ed /lib/output_handlers.cpp
parent38faea0f72741f7732f6973b266ed623ff1428a4 (diff)
downloadsandhi-e2268f682b77fdff1db5ddc6c410e226eb3dc1d5.tar.gz
sandhi-e2268f682b77fdff1db5ddc6c410e226eb3dc1d5.tar.bz2
sandhi-e2268f682b77fdff1db5ddc6c410e226eb3dc1d5.zip
stats: sweet pie charts for per block stats
Diffstat (limited to 'lib/output_handlers.cpp')
-rw-r--r--lib/output_handlers.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/output_handlers.cpp b/lib/output_handlers.cpp
index 3ab78fa..d8064f6 100644
--- a/lib/output_handlers.cpp
+++ b/lib/output_handlers.cpp
@@ -8,6 +8,7 @@ using namespace gras;
void BlockActor::handle_output_buffer(const OutputBufferMessage &message, const Theron::Address)
{
+ TimerAccumulate ta(this->stats.total_time_output);
MESSAGE_TRACER();
const size_t index = message.index;
@@ -15,11 +16,13 @@ void BlockActor::handle_output_buffer(const OutputBufferMessage &message, const
//(all interested consumers have finished with it)
if (this->block_state == BLOCK_STATE_DONE) return;
this->output_queues.push(index, message.buffer);
+ ta.done();
this->handle_task();
}
void BlockActor::handle_output_token(const OutputTokenMessage &message, const Theron::Address)
{
+ TimerAccumulate ta(this->stats.total_time_output);
MESSAGE_TRACER();
ASSERT(message.index < this->get_num_outputs());
@@ -29,6 +32,7 @@ void BlockActor::handle_output_token(const OutputTokenMessage &message, const Th
void BlockActor::handle_output_check(const OutputCheckMessage &message, const Theron::Address)
{
+ TimerAccumulate ta(this->stats.total_time_output);
MESSAGE_TRACER();
const size_t index = message.index;
@@ -42,6 +46,7 @@ void BlockActor::handle_output_check(const OutputCheckMessage &message, const Th
void BlockActor::handle_output_hint(const OutputHintMessage &message, const Theron::Address)
{
+ TimerAccumulate ta(this->stats.total_time_output);
MESSAGE_TRACER();
const size_t index = message.index;
@@ -66,6 +71,7 @@ void BlockActor::handle_output_hint(const OutputHintMessage &message, const Ther
void BlockActor::handle_output_alloc(const OutputAllocMessage &message, const Theron::Address)
{
+ TimerAccumulate ta(this->stats.total_time_output);
MESSAGE_TRACER();
const size_t index = message.index;
@@ -75,6 +81,7 @@ void BlockActor::handle_output_alloc(const OutputAllocMessage &message, const Th
void BlockActor::handle_output_update(const OutputUpdateMessage &message, const Theron::Address)
{
+ TimerAccumulate ta(this->stats.total_time_output);
MESSAGE_TRACER();
const size_t i = message.index;