From 5f5ff648187f3537105ff746737427caf66ffc5e Mon Sep 17 00:00:00 2001
From: Philippe Virouleau <philippe.44@gmail.com>
Date: Tue, 10 Jan 2017 11:47:48 +0100
Subject: [PATCH] Output duration for --rastello

---
 runtime/src/katracereader.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/runtime/src/katracereader.cpp b/runtime/src/katracereader.cpp
index efca831..eb91fc6 100644
--- a/runtime/src/katracereader.cpp
+++ b/runtime/src/katracereader.cpp
@@ -1234,6 +1234,7 @@ struct task_info {
   uint64_t               addr;
   uint64_t               id;
   uint64_t               date;
+  uint64_t               duration;
   uint64_t               delay;
   int                    kid;
   unsigned int           fmtid;
@@ -1310,6 +1311,7 @@ void rastello_parallel_region_t::dump_task_info( task_info* ti )
   fprintf(fout, "\tT=task_add(id(\"T\",{%" PRIu64 "}));\n", ti->id);
   fprintf(fout, "\tT->priority=%" PRIu64 ";\n", ti->date );
   fprintf(fout, "\tT->p=%i;\n", ti->kid );
+  fprintf(fout, "\tT->duration=%i;\n", ti->duration );
   /* perf counter & other */
   fprintf(fout, "\tT->cost=%" PRIu64 ";\n", ti->delay );
   for (size_t i=0; i< ti->perfctr.size(); ++i)
@@ -1536,6 +1538,8 @@ printf("pred[id:%i/%p] = {id:%i}/%p\n", succ->id, (void*)succ->addr, task->id, (
       if (KAAPI_EVENT_DATA(event,2,i) == 0) /* no explicit == forget them */
         break;
       std::map<uint64_t,kproc_t>::iterator kp = parallel_region_t::container_kproc.find( event->kid );
+      task_info* task = rpr->get_taskinfo( KAAPI_EVENT_DATA(event,0,u), false );
+      task->duration = event->date - task->date;
       if (kp == parallel_region_t::container_kproc.end())
         printf("***Unkown thread kid: %i\n", event->kid);
 /*
-- 
GitLab