/* 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;
int TRACE_start ()
{
- if (!_TRACE_configured()){
+ if (!TRACE_is_configured()){
THROW0 (tracing_error, TRACE_ERROR_START,
"TRACE_start should be called after SimGrid initialization functions.");
return 0;
return 0;
}
- char *filename = _TRACE_filename ();
+ char *filename = TRACE_get_filename ();
if (!filename){
THROW0 (tracing_error, TRACE_ERROR_START,
"Trace filename is not initialized.");
pajeDefineVariableType ("power", "HOST", "power");
pajeDefineVariableType ("bandwidth", "LINK", "bandwidth");
pajeDefineVariableType ("latency", "LINK", "latency");
+ pajeDefineEventType ("source", "LINK", "source");
+ pajeDefineEventType ("destination", "LINK", "destination");
}
if (IS_TRACING_PROCESSES || IS_TRACING_VOLUME){
pajeDefineStateType("presence", "TASK", "presence");
}
+ 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 */
pajeCreateContainer(MSG_get_clock(), "platform", "PLATFORM", "0", "simgrid-platform");
/* other trace initialization */
defined_types = xbt_dict_new();
created_categories = xbt_dict_new();
- __TRACE_msg_init();
- __TRACE_surf_init();
- __TRACE_msg_process_init ();
+ TRACE_msg_task_alloc ();
+ TRACE_category_alloc ();
+ TRACE_surf_alloc ();
+ TRACE_msg_process_alloc ();
+ TRACE_smpi_alloc ();
return 0;
}
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 */