- if (TRACE_smpi_is_enabled() && TRACE_smpi_is_grouped())
- container->type_->getOrCreateContainerType("MPI")->getOrCreateStateType("MPI_STATE");
-
- if (TRACE_msg_process_is_enabled()) {
- simgrid::instr::Type* msg_process = container->type_->getOrCreateContainerType("MSG_PROCESS");
- simgrid::instr::Type* state = msg_process->getOrCreateStateType("MSG_PROCESS_STATE");
- simgrid::instr::Value::byNameOrCreate("suspend", "1 0 1", state);
- simgrid::instr::Value::byNameOrCreate("sleep", "1 1 0", state);
- simgrid::instr::Value::byNameOrCreate("receive", "1 0 0", state);
- simgrid::instr::Value::byNameOrCreate("send", "0 0 1", state);
- simgrid::instr::Value::byNameOrCreate("task_execute", "0 1 1", state);
- simgrid::instr::Type::getRootType()->getOrCreateLinkType("MSG_PROCESS_LINK", msg_process, msg_process);
- simgrid::instr::Type::getRootType()->getOrCreateLinkType("MSG_PROCESS_TASK_LINK", msg_process, msg_process);
+ if (TRACE_smpi_is_enabled() && TRACE_smpi_is_grouped()) {
+ simgrid::instr::ContainerType* mpi = container->type_->getOrCreateContainerType("MPI");
+ mpi->getOrCreateStateType("MPI_STATE");
+ // TODO See if we can move this to the LoadBalancer plugin
+ root->type_->getOrCreateLinkType("MIGRATE_LINK", mpi, mpi);
+ mpi->getOrCreateStateType("MIGRATE_STATE");
+ }
+
+ if (TRACE_actor_is_enabled()) {
+ simgrid::instr::ContainerType* actor = container->type_->getOrCreateContainerType("ACTOR");
+ simgrid::instr::StateType* state = actor->getOrCreateStateType("ACTOR_STATE");
+ state->addEntityValue("suspend", "1 0 1");
+ state->addEntityValue("sleep", "1 1 0");
+ state->addEntityValue("receive", "1 0 0");
+ state->addEntityValue("send", "0 0 1");
+ state->addEntityValue("task_execute", "0 1 1");
+ root->type_->getOrCreateLinkType("ACTOR_LINK", actor, actor);
+ root->type_->getOrCreateLinkType("ACTOR_TASK_LINK", actor, actor);