Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
instrumentation of the dax loader and its example
[simgrid.git] / src / simdag / sd_daxloader.c
index d1f79c1..c8778b9 100644 (file)
@@ -144,6 +144,13 @@ xbt_dynar_t SD_daxload(const char *filename)
             SD_task_create_comm_e2e(file->name, NULL, file->amount);
         SD_task_dependency_add(NULL, NULL, root_task, newfile);
         SD_task_dependency_add(NULL, NULL, newfile, depafter->dst);
+#ifdef HAVE_TRACING
+        const char *category = depbefore->src->category;
+        if (category){
+          TRACE_category (category);
+          TRACE_sd_set_task_category (newfile, category);
+        }
+#endif
         xbt_dynar_push(result, &newfile);
       }
     } else if (xbt_dynar_length(file->tasks_after) == 0) {
@@ -152,6 +159,13 @@ xbt_dynar_t SD_daxload(const char *filename)
             SD_task_create_comm_e2e(file->name, NULL, file->amount);
         SD_task_dependency_add(NULL, NULL, depbefore->src, newfile);
         SD_task_dependency_add(NULL, NULL, newfile, end_task);
+#ifdef HAVE_TRACING
+        const char *category = depbefore->src->category;
+        if (category){
+          TRACE_category (category);
+          TRACE_sd_set_task_category (newfile, category);
+        }
+#endif
         xbt_dynar_push(result, &newfile);
       }
     } else {
@@ -166,6 +180,13 @@ xbt_dynar_t SD_daxload(const char *filename)
               SD_task_create_comm_e2e(file->name, NULL, file->amount);
           SD_task_dependency_add(NULL, NULL, depbefore->src, newfile);
           SD_task_dependency_add(NULL, NULL, newfile, depafter->dst);
+#ifdef HAVE_TRACING
+          const char *category = depbefore->src->category;
+          if (category){
+            TRACE_category (category);
+            TRACE_sd_set_task_category (newfile, category);
+          }
+#endif
           xbt_dynar_push(result, &newfile);
         }
       }
@@ -203,6 +224,13 @@ void STag_dax__job(void)
   runtime *= 4200000000.;       /* Assume that timings were done on a 4.2GFlops machine. I mean, why not? */
 //  INFO3("See <job id=%s runtime=%s %.0f>",A_dax__job_id,A_dax__job_runtime,runtime);
   current_job = SD_task_create_comp_seq(name, NULL, runtime);
+#ifdef HAVE_TRACING
+  char *category = A_dax__job_name;
+  if (category){
+    TRACE_category (category);
+    TRACE_sd_set_task_category(current_job, category);
+  }
+#endif
   xbt_dict_set(jobs, A_dax__job_id, current_job, NULL);
   free(name);
   xbt_dynar_push(result, &current_job);