X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/58801abf7076bc6bd09c971104f6dbd3ff236fc6..de32c0ad080a06621f84d9274bf0a3f020c38207:/src/instr/instr_platform.cpp diff --git a/src/instr/instr_platform.cpp b/src/instr/instr_platform.cpp index 9ce839a27c..f0dd78aa8d 100644 --- a/src/instr/instr_platform.cpp +++ b/src/instr/instr_platform.cpp @@ -312,26 +312,21 @@ static void instr_actor_on_creation(simgrid::s4u::Actor const& actor) }); } -static long long int counter = 0; - -static void instr_actor_on_migration_start(simgrid::s4u::Actor const& actor) +static void instr_actor_on_host_change(simgrid::s4u::Actor const& actor, + simgrid::s4u::Host const& /*previous_location*/) { - // start link + static long long int counter = 0; container_t container = simgrid::instr::Container::by_name(instr_pid(actor)); - simgrid::instr::Container::get_root()->get_link("ACTOR_LINK")->start_event(container, "M", std::to_string(counter)); + simgrid::instr::LinkType* link = simgrid::instr::Container::get_root()->get_link("ACTOR_LINK"); + // start link + link->start_event(container, "M", std::to_string(counter)); // destroy existing container of this process container->remove_from_parent(); -} - -static void instr_actor_on_migration_end(simgrid::s4u::Actor const& actor) -{ // create new container on the new_host location simgrid::instr::Container::by_name(actor.get_host()->get_name())->create_child(instr_pid(actor), "ACTOR"); // end link - simgrid::instr::Container::get_root() - ->get_link("ACTOR_LINK") - ->end_event(simgrid::instr::Container::by_name(instr_pid(actor)), "M", std::to_string(counter)); + link->end_event(simgrid::instr::Container::by_name(instr_pid(actor)), "M", std::to_string(counter)); counter++; } @@ -355,7 +350,7 @@ void instr_define_callbacks() // always need the callbacks to zones (we need only the root zone), to create the rootContainer and the rootType // properly if (TRACE_needs_platform()) { - simgrid::s4u::on_platform_created.connect(instr_on_platform_created); + simgrid::s4u::Engine::on_platform_created.connect(instr_on_platform_created); simgrid::s4u::Host::on_creation.connect(instr_host_on_creation); simgrid::s4u::Host::on_speed_change.connect(instr_host_on_speed_change); simgrid::s4u::Link::on_creation.connect(instr_link_on_creation); @@ -388,10 +383,10 @@ void instr_define_callbacks() simgrid::s4u::Actor::on_wake_up.connect([](simgrid::s4u::Actor const& actor) { simgrid::instr::Container::by_name(instr_pid(actor))->get_state("ACTOR_STATE")->pop_event(); }); - simgrid::s4u::Exec::on_start.connect([](simgrid::s4u::Actor const& actor) { + simgrid::s4u::Exec::on_start.connect([](simgrid::s4u::Actor const& actor, simgrid::s4u::Exec const&) { simgrid::instr::Container::by_name(instr_pid(actor))->get_state("ACTOR_STATE")->push_event("execute"); }); - simgrid::s4u::Exec::on_completion.connect([](simgrid::s4u::Actor const& actor) { + simgrid::s4u::Exec::on_completion.connect([](simgrid::s4u::Actor const& actor, simgrid::s4u::Exec const&) { simgrid::instr::Container::by_name(instr_pid(actor))->get_state("ACTOR_STATE")->pop_event(); }); simgrid::s4u::Comm::on_sender_start.connect([](simgrid::s4u::Actor const& actor) { @@ -403,8 +398,7 @@ void instr_define_callbacks() simgrid::s4u::Comm::on_completion.connect([](simgrid::s4u::Actor const& actor) { simgrid::instr::Container::by_name(instr_pid(actor))->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); + simgrid::s4u::Actor::on_host_change.connect(instr_actor_on_host_change); } if (TRACE_vm_is_enabled()) {