*/
#include "instr/private.h"
-#include "instr/config.h"
#ifdef HAVE_TRACING
static xbt_dict_t created_links;
static xbt_dict_t link_bandwidth;
static xbt_dict_t link_latency;
+static xbt_dict_t host_containers;
//static xbt_dict_t platform_variable_last_value; /* to control the amount of add/sub variables events*/
//static xbt_dict_t platform_variable_last_time; /* to control the amount of add/sub variables events*/
link_bandwidth = xbt_dict_new();
link_latency = xbt_dict_new();
platform_variables = xbt_dict_new();
+ host_containers = xbt_dict_new();
//platform_variable_last_value = xbt_dict_new();
//platform_variable_last_time = xbt_dict_new();
void TRACE_surf_cpu_new (char *name, double power)
{
if (!IS_TRACING) return;
- if (IS_TRACING_PLATFORM) pajeCreateContainer (SIMIX_get_clock(), name, "HOST", "platform", name);
+ if (IS_TRACING_PLATFORM){
+ pajeCreateContainer (SIMIX_get_clock(), name, "HOST", "platform", name);
+ xbt_dict_set (host_containers, xbt_strdup(name), xbt_strdup("1"), xbt_free);
+ }
__TRACE_surf_set_resource_variable (SIMIX_get_clock(), "power", name, power);
}
THROW0(tracing_error, TRACE_ERROR_COMPLEX_ROUTES, "Tracing failed");
}
+void TRACE_msg_clean (void)
+{
+ __TRACE_surf_finalize();
+
+ xbt_dict_cursor_t cursor = NULL;
+ unsigned int cursor_ar = 0;
+ char *key, *value;
+
+ /* get all host from host_containers */
+ xbt_dict_foreach(host_containers, cursor, key, value) {
+ if (IS_TRACING_PLATFORM) pajeDestroyContainer (MSG_get_clock(), "HOST", key);
+ }
+}
+
+void TRACE_surf_vivaldi_parse_host (char *host, double x, double y, double h)
+{
+ if (!IS_TRACING || !IS_TRACING_PLATFORM) return;
+
+ char valuestr[100];
+ snprintf (valuestr, 100, "%g", x);
+ pajeSetVariable (0, "vivaldi_x", host, valuestr);
+ snprintf (valuestr, 100, "%g", y);
+ pajeSetVariable (0, "vivaldi_y", host, valuestr);
+ snprintf (valuestr, 100, "%g", h);
+ pajeSetVariable (0, "vivaldi_h", host, valuestr);
+}
+
#endif