X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/25702930c148d7d6b9dfd08cbc12f2068d5cf4b2..b2d9909db8c479a5d6c6f71ea0504f83a35b55be:/src/surf/network_ns3.c?ds=sidebyside diff --git a/src/surf/network_ns3.c b/src/surf/network_ns3.c index 5de0d55fab..16df51312e 100644 --- a/src/surf/network_ns3.c +++ b/src/surf/network_ns3.c @@ -440,6 +440,27 @@ static void ns3_update_actions_state(double now, double delta) action = (surf_action_network_ns3_t)ns3_get_socket_action(data); action->generic_action.remains = action->generic_action.cost - ns3_get_socket_sent(data); +#ifdef HAVE_TRACING + if (TRACE_is_enabled() && + surf_action_state_get(&(action->generic_action)) == SURF_ACTION_RUNNING){ + double data_sent = ns3_get_socket_sent(data); + double data_delta_sent = data_sent - action->last_sent; + + xbt_dynar_t route = global_routing->get_route(action->src_name, action->dst_name); + unsigned int i; + for (i = 0; i < xbt_dynar_length (route); i++){ + surf_ns3_link_t *link = ((surf_ns3_link_t*)xbt_dynar_get_ptr (route, i)); + TRACE_surf_link_set_utilization ((*link)->generic_resource.name, + action->generic_action.data, + (surf_action_t) action, + (data_delta_sent), + now-delta, + delta); + } + action->last_sent = data_sent; + } +#endif + if(ns3_get_socket_is_finished(data) == 1){ action->generic_action.finish = now; surf_action_state_set(&(action->generic_action), SURF_ACTION_DONE);