Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[trace] arrows to indicate msg send/recv when tracing/msg/task:1
[simgrid.git] / src / instr / instr_routing.c
index 75d33b2..725f6f5 100644 (file)
@@ -212,6 +212,8 @@ container_t newContainer (const char *name, e_container_types kind, container_t
       case INSTR_LINK: new->type = getContainerType ("LINK", new->father->type); break;
       case INSTR_ROUTER: new->type = getContainerType ("ROUTER", new->father->type); break;
       case INSTR_SMPI: new->type = getContainerType ("MPI", new->father->type); break;
+      case INSTR_MSG_PROCESS: new->type = getContainerType ("MSG_PROCESS", new->father->type); break;
+      case INSTR_MSG_TASK: new->type = getContainerType ("MSG_TASK", new->father->type); break;
       default: xbt_die ("Congratulations, you have found a bug on newContainer function of instr_routing.c"); break;
     }
   }
@@ -509,6 +511,18 @@ static void instr_routing_parse_start_host ()
       getLinkType ("MPI_LINK", rootType, mpi, mpi);
     }
   }
+
+  if (TRACE_msg_process_is_enabled()) {
+    type_t msg_process = getContainerType("MSG_PROCESS", new->type);
+    getStateType ("MSG_PROCESS_STATE", msg_process);
+    getLinkType ("MSG_PROCESS_LINK", rootType, msg_process, msg_process);
+  }
+
+  if (TRACE_msg_task_is_enabled()) {
+    type_t msg_task = getContainerType ("MSG_TASK", new->type);
+    getStateType ("MSG_TASK_STATE", msg_task);
+    getLinkType ("MSG_TASK_LINK", rootType, msg_task, msg_task);
+  }
 }
 
 static void instr_routing_parse_end_host ()