Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
SMPI's network model calibration script: you give it information about your platform...
[simgrid.git] / src / instr / instr_config.c
index 57a9ee9..dc65760 100644 (file)
 #define OPT_TRACING_MSG_PROCESS   "tracing/msg/process"
 #define OPT_TRACING_MSG_VOLUME    "tracing/msg/volume"
 #define OPT_TRACING_FILENAME      "tracing/filename"
+#define OPT_TRACING_PLATFORM_METHOD "tracing/platform/method"
+
+static int trace_configured = 0;
+
+int _TRACE_configured (void)
+{
+  return trace_configured;
+}
 
 int _TRACE_smpi_enabled (void)
 {
@@ -46,6 +54,11 @@ char *_TRACE_filename (void)
   return xbt_cfg_get_string (_surf_cfg_set, OPT_TRACING_FILENAME);
 }
 
+char *_TRACE_platform_method (void)
+{
+  return xbt_cfg_get_string (_surf_cfg_set, OPT_TRACING_PLATFORM_METHOD);
+}
+
 void TRACE_global_init(int *argc, char **argv)
 {
   /* name of the tracefile */
@@ -69,6 +82,13 @@ void TRACE_global_init(int *argc, char **argv)
                    xbt_cfgelm_int, &default_tracing_platform, 0, 1,
                    NULL, NULL);
 
+  /* platform method */
+  char *default_tracing_platform_method = xbt_strdup ("b");
+  xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_PLATFORM_METHOD,
+                   "Tracing method used to register categorized resource behavior.",
+                   xbt_cfgelm_string, &default_tracing_platform_method, 1, 1,
+                   NULL, NULL);
+
   /* msg task */
   int default_tracing_msg_task = 0;
   xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_MSG_TASK,
@@ -89,6 +109,9 @@ void TRACE_global_init(int *argc, char **argv)
                    "Tracing of MSG communication volume (experimental).",
                    xbt_cfgelm_int, &default_tracing_msg_volume, 0, 1,
                    NULL, NULL);
+
+  /* instrumentation can be considered configured now */
+  trace_configured = 1;
 }
 
 #endif