X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bb31d014ce61992b6eeae191bdd8690caddbda24..e9f0018b823e34405847177b25a85d3facc30ae1:/src/surf/instr_routing.cpp?ds=sidebyside diff --git a/src/surf/instr_routing.cpp b/src/surf/instr_routing.cpp index d737c33bf3..9f992f3314 100644 --- a/src/surf/instr_routing.cpp +++ b/src/surf/instr_routing.cpp @@ -8,6 +8,7 @@ #include "src/surf/surf_private.h" #include "xbt/graph.h" +#include "src/surf/platform.hpp" XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_routing, instr, "Tracing platform hierarchy"); @@ -165,7 +166,7 @@ static void recursiveGraphExtraction (AS_t rc, container_t container, xbt_dict_t /* * Callbacks */ -static void instr_routing_parse_start_AS (sg_platf_AS_cbarg_t AS) +void sg_instr_AS_begin(sg_platf_AS_cbarg_t AS) { const char*id = AS->id; @@ -200,7 +201,7 @@ static void instr_routing_parse_start_AS (sg_platf_AS_cbarg_t AS) } } -static void instr_routing_parse_end_AS (sg_platf_AS_cbarg_t) +void sg_instr_AS_end() { if (TRACE_needs_platform()){ xbt_dynar_pop_ptr (currentContainer); @@ -255,24 +256,24 @@ static void instr_routing_parse_start_link (sg_platf_link_cbarg_t link) xbt_dynar_free (&links_to_create); } -static void instr_routing_parse_start_host (sg_platf_host_cbarg_t host) +void sg_instr_new_host(sg_platf_host_cbarg_t host) { container_t father = *(container_t*)xbt_dynar_get_ptr(currentContainer, xbt_dynar_length(currentContainer)-1); container_t container = PJ_container_new (host->id, INSTR_HOST, father); - if ((TRACE_categorized() || TRACE_uncategorized() || TRACE_platform()) && (! TRACE_disable_power())) { - type_t power = PJ_type_get_or_null ("power", container->type); - if (power == NULL){ - power = PJ_type_variable_new ("power", NULL, container->type); + if ((TRACE_categorized() || TRACE_uncategorized() || TRACE_platform()) && (! TRACE_disable_speed())) { + type_t speed = PJ_type_get_or_null ("power", container->type); + if (speed == NULL){ + speed = PJ_type_variable_new ("power", NULL, container->type); } - double current_power_state; - xbt_dynar_get_cpy(host->power_peak, host->pstate, ¤t_power_state); - new_pajeSetVariable (0, container, power, current_power_state); + double current_speed_state; + xbt_dynar_get_cpy(host->speed_peak, host->pstate, ¤t_speed_state); + new_pajeSetVariable (0, container, speed, current_speed_state); } if (TRACE_uncategorized()){ - type_t power_used = PJ_type_get_or_null ("power_used", container->type); - if (power_used == NULL){ + type_t speed_used = PJ_type_get_or_null ("power_used", container->type); + if (speed_used == NULL){ PJ_type_variable_new ("power_used", "0.5 0.5 0.5", container->type); } } @@ -318,7 +319,7 @@ static void instr_routing_parse_start_host (sg_platf_host_cbarg_t host) } -static void instr_routing_parse_start_router (sg_platf_router_cbarg_t router) +void sg_instr_new_router(sg_platf_router_cbarg_t router) { container_t father = *(container_t*)xbt_dynar_get_ptr(currentContainer, xbt_dynar_length(currentContainer)-1); PJ_container_new (router->id, INSTR_ROUTER, father); @@ -342,14 +343,9 @@ void instr_routing_define_callbacks () if (!TRACE_is_enabled()) return; //always need the call backs to ASes (we need only the root AS), //to create the rootContainer and the rootType properly - sg_platf_AS_begin_add_cb(instr_routing_parse_start_AS); - sg_platf_AS_end_add_cb(instr_routing_parse_end_AS); if (!TRACE_needs_platform()) return; - sg_platf_link_add_cb(instr_routing_parse_start_link); - sg_platf_host_add_cb(instr_routing_parse_start_host); - sg_platf_router_add_cb(instr_routing_parse_start_router); - - sg_platf_postparse_add_cb(instr_routing_parse_end_platform); + simgrid::surf::on_link.connect(instr_routing_parse_start_link); + simgrid::surf::on_postparse.connect(instr_routing_parse_end_platform); } /*