X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1190c46b4633e1c616f35eefeb53d141b28b9631..65e338fbfd769d49b29242bfe56cde18c03b6074:/src/instr/interface.c diff --git a/src/instr/interface.c b/src/instr/interface.c index b496ebfd5b..7c42143468 100644 --- a/src/instr/interface.c +++ b/src/instr/interface.c @@ -4,11 +4,12 @@ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ -#include "instr/private.h" - +#include "simgrid_config.h" #ifdef HAVE_TRACING +#include "instr/private.h" + XBT_LOG_NEW_DEFAULT_CATEGORY(tracing,"Tracing Interface"); static xbt_dict_t defined_types; @@ -77,6 +78,8 @@ int TRACE_start () if (IS_TRACING_SMPI){ pajeDefineContainerType ("MPI_PROCESS", "HOST", "MPI_PROCESS"); + pajeDefineStateType ("MPI_STATE", "MPI_PROCESS", "MPI_STATE"); + pajeDefineLinkType ("MPI_LINK", "0", "MPI_PROCESS", "MPI_PROCESS", "MPI_LINK"); } /* creating the platform */ @@ -86,8 +89,10 @@ int TRACE_start () defined_types = xbt_dict_new(); created_categories = xbt_dict_new(); __TRACE_msg_init(); + __TRACE_category_init (); __TRACE_surf_init(); __TRACE_msg_process_init (); + __TRACE_smpi_init (); return 0; } @@ -191,4 +196,18 @@ void TRACE_mark (const char *mark_type, const char *mark_value) pajeNewEvent (MSG_get_clock(), mark_type, "0", mark_value); } +int TRACE_smpi_set_category (const char *category) +{ + //if category is NULL, trace of platform is disabled + if (!IS_TRACING) return 1; + if (category != NULL){ + int ret = TRACE_category (category); + __TRACE_category_set (SIMIX_process_self(), category); + return ret; + }else{ + __TRACE_category_unset (SIMIX_process_self()); + return 0; + } +} + #endif /* HAVE_TRACING */