X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2075b36b682a8c5e3a7487c72a7203a354295b7b..a181dd511948fe35733ca7bc5c0a3e95d10722b1:/src/instr/instr_platform.cpp diff --git a/src/instr/instr_platform.cpp b/src/instr/instr_platform.cpp index 6a564f953e..244240c1a6 100644 --- a/src/instr/instr_platform.cpp +++ b/src/instr/instr_platform.cpp @@ -9,6 +9,7 @@ #include "simgrid/kernel/routing/NetZoneImpl.hpp" #include "simgrid/s4u/Actor.hpp" #include "simgrid/s4u/Engine.hpp" +#include "simgrid/s4u/Exec.hpp" #include "simgrid/s4u/Host.hpp" #include "simgrid/s4u/VirtualMachine.hpp" #include "src/surf/cpu_interface.hpp" @@ -298,7 +299,7 @@ static void instr_actor_on_creation(simgrid::s4u::ActorPtr actor) state->add_entity_value("sleep", "1 1 0"); state->add_entity_value("receive", "1 0 0"); state->add_entity_value("send", "0 0 1"); - state->add_entity_value("task_execute", "0 1 1"); + state->add_entity_value("execute", "0 1 1"); root->type_->by_name_or_create("ACTOR_LINK", actor_type, actor_type); root->type_->by_name_or_create("ACTOR_TASK_LINK", actor_type, actor_type); @@ -345,7 +346,7 @@ static void instr_vm_on_creation(simgrid::s4u::Host& host) state->add_entity_value("sleep", "1 1 0"); state->add_entity_value("receive", "1 0 0"); state->add_entity_value("send", "0 0 1"); - state->add_entity_value("task_execute", "0 1 1"); + state->add_entity_value("execute", "0 1 1"); root->type_->by_name_or_create("VM_LINK", vm, vm); root->type_->by_name_or_create("VM_ACTOR_LINK", vm, vm); } @@ -382,6 +383,12 @@ void instr_define_callbacks() simgrid::s4u::Actor::on_wake_up.connect([](simgrid::s4u::ActorPtr actor) { simgrid::instr::Container::by_name(instr_pid(actor.get()))->get_state("ACTOR_STATE")->pop_event(); }); + simgrid::s4u::Exec::on_start.connect([](simgrid::s4u::ActorPtr actor) { + simgrid::instr::Container::by_name(instr_pid(actor.get()))->get_state("ACTOR_STATE")->push_event("execute"); + }); + simgrid::s4u::Exec::on_completion.connect([](simgrid::s4u::ActorPtr actor) { + simgrid::instr::Container::by_name(instr_pid(actor.get()))->get_state("ACTOR_STATE")->pop_event(); + }); simgrid::s4u::Actor::on_migration_start.connect(instr_actor_on_migration_start); simgrid::s4u::Actor::on_migration_end.connect(instr_actor_on_migration_end); }