1 /* Copyright (c) 2010. The SimGrid Team.
2 * All rights reserved. */
4 /* This program is free software; you can redistribute it and/or modify it
5 * under the terms of the license (GNU LGPL) which comes with this package. */
8 #include "instr/private.h"
12 #define OPT_TRACING_SMPI "tracing/smpi"
13 #define OPT_TRACING_PLATFORM "tracing/platform"
14 #define OPT_TRACING_MSG_TASK "tracing/msg/task"
15 #define OPT_TRACING_MSG_PROCESS "tracing/msg/process"
16 #define OPT_TRACING_MSG_VOLUME "tracing/msg/volume"
17 #define OPT_TRACING_FILENAME "tracing/filename"
18 #define OPT_TRACING_PLATFORM_METHOD "tracing/platform/method"
20 static int trace_configured = 0;
22 int _TRACE_configured (void)
24 return trace_configured;
27 int _TRACE_smpi_enabled (void)
29 return xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_SMPI);
32 int _TRACE_platform_enabled (void)
34 return xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_PLATFORM);
37 int _TRACE_msg_task_enabled (void)
39 return xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_MSG_TASK);
42 int _TRACE_msg_process_enabled (void)
44 return xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_MSG_PROCESS);
47 int _TRACE_msg_volume_enabled (void)
49 return xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_MSG_VOLUME);
52 char *_TRACE_filename (void)
54 return xbt_cfg_get_string (_surf_cfg_set, OPT_TRACING_FILENAME);
57 char *_TRACE_platform_method (void)
59 return xbt_cfg_get_string (_surf_cfg_set, OPT_TRACING_PLATFORM_METHOD);
62 void TRACE_global_init(int *argc, char **argv)
64 /* name of the tracefile */
65 char *default_tracing_filename = xbt_strdup("simgrid.trace");
66 xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_FILENAME,
67 "Trace file created by the instrumented SimGrid.",
68 xbt_cfgelm_string, &default_tracing_filename, 1, 1,
72 int default_tracing_smpi = 0;
73 xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_SMPI,
74 "Tracing of the SMPI interface.",
75 xbt_cfgelm_int, &default_tracing_smpi, 0, 1,
79 int default_tracing_platform = 0;
80 xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_PLATFORM,
81 "Tracing of categorized platform (host and link) utilization.",
82 xbt_cfgelm_int, &default_tracing_platform, 0, 1,
86 char *default_tracing_platform_method = xbt_strdup ("b");
87 xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_PLATFORM_METHOD,
88 "Tracing method used to register categorized resource behavior.",
89 xbt_cfgelm_string, &default_tracing_platform_method, 1, 1,
93 int default_tracing_msg_task = 0;
94 xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_MSG_TASK,
95 "Tracing of MSG task behavior.",
96 xbt_cfgelm_int, &default_tracing_msg_task, 0, 1,
100 int default_tracing_msg_process = 0;
101 xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_MSG_PROCESS,
102 "Tracing of MSG process behavior.",
103 xbt_cfgelm_int, &default_tracing_msg_process, 0, 1,
106 /* msg volume (experimental) */
107 int default_tracing_msg_volume = 0;
108 xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_MSG_VOLUME,
109 "Tracing of MSG communication volume (experimental).",
110 xbt_cfgelm_int, &default_tracing_msg_volume, 0, 1,
113 /* instrumentation can be considered configured now */
114 trace_configured = 1;