X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/eb458edefa0962215cc62c304bc44588308aecc4..6f1eddd629f667b1fc421bd6433603ff8eca82c5:/src/instr/interface.c diff --git a/src/instr/interface.c b/src/instr/interface.c index 573f498e0d..ac237fcff3 100644 --- a/src/instr/interface.c +++ b/src/instr/interface.c @@ -120,6 +120,11 @@ int TRACE_end() } int TRACE_category(const char *category) +{ + return TRACE_category_with_color (category, NULL); +} + +int TRACE_category_with_color (const char *category, const char *color) { static int first_time = 1; if (!IS_TRACING) @@ -129,7 +134,7 @@ int TRACE_category(const char *category) TRACE_define_type("user_type", "0", 1); first_time = 0; } - return TRACE_create_category(category, "user_type", "0"); + return TRACE_create_category_with_color(category, "user_type", "0", color); } void TRACE_define_type(const char *type, @@ -170,6 +175,14 @@ void TRACE_define_type(const char *type, int TRACE_create_category(const char *category, const char *type, const char *parent_category) +{ + return TRACE_create_category_with_color (category, type, parent_category, NULL); +} + +int TRACE_create_category_with_color(const char *category, + const char *type, + const char *parent_category, + const char *color) { char state[100]; char *val_one = NULL; @@ -197,14 +210,24 @@ int TRACE_create_category(const char *category, pajeCreateContainer(MSG_get_clock(), category, type, parent_category, category); - /* for registering application categories on top of platform */ + char final_color[INSTR_DEFAULT_STR_SIZE]; + if (!color){ + //generate a random color + double red = drand48(); + double green = drand48(); + double blue = drand48(); + snprintf (final_color, INSTR_DEFAULT_STR_SIZE, "%f %f %f", red, green, blue); + }else{ + snprintf (final_color, INSTR_DEFAULT_STR_SIZE, "%s", color); + } + /* for registering application categories on top of platform */ snprintf(state, 100, "b%s", category); if (IS_TRACING_PLATFORM) - pajeDefineVariableType(state, "LINK", state); + pajeDefineVariableTypeWithColor(state, "LINK", state, final_color); snprintf(state, 100, "p%s", category); if (IS_TRACING_PLATFORM) - pajeDefineVariableType(state, "HOST", state); + pajeDefineVariableTypeWithColor(state, "HOST", state, final_color); val_one = xbt_strdup("1"); xbt_dict_set(created_categories, category, &val_one, xbt_free);