From d5b39515958bde9d7724def570d766d62ad55d86 Mon Sep 17 00:00:00 2001 From: schnorr Date: Tue, 5 Oct 2010 13:16:08 +0000 Subject: [PATCH] only trace link-related data if tracing mechanism know the link git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8350 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/instr/private.h | 1 + src/instr/resource_utilization.c | 3 +++ src/instr/surf_instr.c | 25 +++++++++++++++++++++---- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/instr/private.h b/src/instr/private.h index d05ef5f346..3e2dcdf836 100644 --- a/src/instr/private.h +++ b/src/instr/private.h @@ -112,6 +112,7 @@ void TRACE_surf_link_set_latency (double date, void *link, double latency); void TRACE_surf_link_missing (void); void TRACE_msg_clean (void); void TRACE_surf_save_onelink (void); +int TRACE_surf_link_is_traced (void *link); //for tracing gtnets void TRACE_surf_gtnets_communicate (void *action, int src, int dst); diff --git a/src/instr/resource_utilization.c b/src/instr/resource_utilization.c index 0a3feac3b4..506f41e035 100644 --- a/src/instr/resource_utilization.c +++ b/src/instr/resource_utilization.c @@ -331,6 +331,9 @@ void TRACE_surf_link_set_utilization (void *link, smx_action_t smx_action, doubl char type[100]; if (!IS_TRACING || !IS_TRACED(smx_action)) return; + //only trace link utilization if link is known by tracing mechanism + if (!TRACE_surf_link_is_traced (link)) return; + if (!value) return; char resource[100]; diff --git a/src/instr/surf_instr.c b/src/instr/surf_instr.c index cb8cd7daa5..b6ae112b07 100644 --- a/src/instr/surf_instr.c +++ b/src/instr/surf_instr.c @@ -100,6 +100,8 @@ void TRACE_surf_host_set_power (double date, char *resource, double power) void TRACE_surf_link_set_bandwidth (double date, void *link, double bandwidth) { + if (!TRACE_surf_link_is_traced (link)) return; + char resource[100]; snprintf (resource, 100, "%p", link); __TRACE_surf_set_resource_variable (date, "bandwidth", resource, bandwidth); @@ -107,6 +109,8 @@ void TRACE_surf_link_set_bandwidth (double date, void *link, double bandwidth) void TRACE_surf_link_set_latency (double date, void *link, double latency) { + if (!TRACE_surf_link_is_traced (link)) return; + char resource[100]; snprintf (resource, 100, "%p", link); __TRACE_surf_set_resource_variable (date, "latency", resource, latency); @@ -217,11 +221,24 @@ void TRACE_surf_save_onelink (void) char *dst = onelink->dst; void *link = onelink->link_ptr; - char resource[100]; - snprintf (resource, 100, "%p", link); + if (TRACE_surf_link_is_traced (link)){ + char resource[100]; + snprintf (resource, 100, "%p", link); + + pajeNewEvent (0.1, "source", resource, src); + pajeNewEvent (0.1, "destination", resource, dst); + } + } +} - pajeNewEvent (0.1, "source", resource, src); - pajeNewEvent (0.1, "destination", resource, dst); +int TRACE_surf_link_is_traced (void *link) +{ + char alias[100]; + snprintf (alias, 100, "%p", link); + if (xbt_dict_get_or_null (created_links, alias)){ + return 1; + }else{ + return 0; } } -- 2.20.1