"Task %p(%s). Tracing already knows a task with name %s."
"The name of each task must be unique, if --cfg=tracing/msg/task:1 is used.", task, task->name, task->name);
container_t msg = newContainer(task->name, INSTR_MSG_TASK, host_container);
- type_t type = getType (task->category);
+ type_t type = getType (task->category, msg->type);
if (!type){
type = getVariableType(task->category, NULL, msg->type);
}
new_pajeSetVariable (SIMIX_get_clock(), msg, type, 1);
- type = getType ("MSG_TASK_STATE");
- new_pajePushState (MSG_get_clock(), msg, type, "created");
+ type = getType ("MSG_TASK_STATE", msg->type);
+ val_t value = getValueByName ("created", type);
+ new_pajePushState (MSG_get_clock(), msg, type, value);
}
}
/* MSG_task_execute related functions */
void TRACE_msg_task_execute_start(m_task_t task)
{
- if (!task->category) return;
-
DEBUG3("EXEC,in %p, %lld, %s", task, task->counter, task->category);
if (TRACE_msg_task_is_enabled()){
container_t task_container = getContainer (task->name);
- type_t type = getType ("MSG_TASK_STATE");
- new_pajePushState (MSG_get_clock(), task_container, type, "MSG_task_execute");
+ type_t type = getType ("MSG_TASK_STATE", task_container->type);
+ val_t value = getValueByName ("MSG_task_execute", type);
+ new_pajePushState (MSG_get_clock(), task_container, type, value);
}
if (TRACE_msg_process_is_enabled()){
char str[INSTR_DEFAULT_STR_SIZE];
container_t process_container = getContainer (instr_process_id(MSG_process_self(), str, len));
- type_t type = getType ("MSG_PROCESS_STATE");
- new_pajePushState (MSG_get_clock(), process_container, type, "task_execute");
+ type_t type = getType ("MSG_PROCESS_STATE", process_container->type);
+ val_t value = getValueByName ("task_execute", type);
+ new_pajePushState (MSG_get_clock(), process_container, type, value);
}
}
void TRACE_msg_task_execute_end(m_task_t task)
{
- if (!task->category) return;
-
DEBUG3("EXEC,out %p, %lld, %s", task, task->counter, task->category);
if (TRACE_msg_task_is_enabled()){
container_t task_container = getContainer (task->name);
- type_t type = getType ("MSG_TASK_STATE");
+ type_t type = getType ("MSG_TASK_STATE", task_container->type);
new_pajePopState (MSG_get_clock(), task_container, type);
}
char str[INSTR_DEFAULT_STR_SIZE];
container_t process_container = getContainer (instr_process_id(MSG_process_self(), str, len));
- type_t type = getType ("MSG_PROCESS_STATE");
+ type_t type = getType ("MSG_PROCESS_STATE", process_container->type);
new_pajePopState (MSG_get_clock(), process_container, type);
}
}
/* MSG_task_destroy related functions */
void TRACE_msg_task_destroy(m_task_t task)
{
- if (!(TRACE_msg_task_is_enabled() &&
- task->category)) return;
-
- //that's the end, let's destroy it
- destroyContainer (getContainer(task->name));
-
DEBUG3("DESTROY %p, %lld, %s", task, task->counter, task->category);
+ if (TRACE_msg_task_is_enabled()){
+ //that's the end, let's destroy it
+ destroyContainer (getContainer(task->name));
+ }
+
//free category
xbt_free(task->category);
task->category = NULL;
char str[INSTR_DEFAULT_STR_SIZE];
container_t process_container = getContainer (instr_process_id(MSG_process_self(), str, len));
- type_t type = getType ("MSG_PROCESS_STATE");
- new_pajePushState (MSG_get_clock(), process_container, type, "receive");
+ type_t type = getType ("MSG_PROCESS_STATE", process_container->type);
+ val_t value = getValueByName ("receive", type);
+ new_pajePushState (MSG_get_clock(), process_container, type, value);
}
}
void TRACE_msg_task_get_end(double start_time, m_task_t task)
{
- if (!task->category) return;
-
DEBUG3("GET,out %p, %lld, %s", task, task->counter, task->category);
if (TRACE_msg_task_is_enabled()){
m_host_t host = MSG_host_self();
container_t host_container = getContainer(host->name);
container_t msg = newContainer(task->name, INSTR_MSG_TASK, host_container);
- type_t type = getType (task->category);
+ type_t type = getType (task->category, msg->type);
new_pajeSetVariable (SIMIX_get_clock(), msg, type, 1);
- type = getType ("MSG_TASK_STATE");
- new_pajePushState (MSG_get_clock(), msg, type, "created");
+ type = getType ("MSG_TASK_STATE", msg->type);
+ val_t value = getValueByName ("created", type);
+ new_pajePushState (MSG_get_clock(), msg, type, value);
- type = getType ("MSG_TASK_LINK");
+ type = getType ("MSG_TASK_LINK", getRootType());
char key[INSTR_DEFAULT_STR_SIZE];
snprintf (key, INSTR_DEFAULT_STR_SIZE, "%lld", task->counter);
new_pajeEndLink (MSG_get_clock(), getRootContainer(), type, msg, "SR", key);
char str[INSTR_DEFAULT_STR_SIZE];
container_t process_container = getContainer (instr_process_id(MSG_process_self(), str, len));
- type_t type = getType ("MSG_PROCESS_STATE");
+ type_t type = getType ("MSG_PROCESS_STATE", process_container->type);
new_pajePopState (MSG_get_clock(), process_container, type);
char key[INSTR_DEFAULT_STR_SIZE];
snprintf (key, INSTR_DEFAULT_STR_SIZE, "p%lld", task->counter);
- type = getType ("MSG_PROCESS_TASK_LINK");
+ type = getType ("MSG_PROCESS_TASK_LINK", getRootType());
new_pajeEndLink(MSG_get_clock(), getRootContainer(), type, process_container, "SR", key);
}
}
/* MSG_task_put related functions */
int TRACE_msg_task_put_start(m_task_t task)
{
- if (!task->category) return 0;
-
DEBUG3("PUT,in %p, %lld, %s", task, task->counter, task->category);
if (TRACE_msg_task_is_enabled()){
container_t msg = getContainer (task->name);
- type_t type = getType ("MSG_TASK_STATE");
+ type_t type = getType ("MSG_TASK_STATE", msg->type);
new_pajePopState (MSG_get_clock(), msg, type);
- type = getType ("MSG_TASK_LINK");
+ type = getType ("MSG_TASK_LINK", getRootType());
char key[INSTR_DEFAULT_STR_SIZE];
snprintf (key, INSTR_DEFAULT_STR_SIZE, "%lld", task->counter);
new_pajeStartLink(MSG_get_clock(), getRootContainer(), type, msg, "SR", key);
char str[INSTR_DEFAULT_STR_SIZE];
container_t process_container = getContainer (instr_process_id(MSG_process_self(), str, len));
- type_t type = getType ("MSG_PROCESS_STATE");
- new_pajePushState (MSG_get_clock(), process_container, type, "send");
+ type_t type = getType ("MSG_PROCESS_STATE", process_container->type);
+ val_t value = getValueByName ("send", type);
+ new_pajePushState (MSG_get_clock(), process_container, type, value);
char key[INSTR_DEFAULT_STR_SIZE];
snprintf (key, INSTR_DEFAULT_STR_SIZE, "p%lld", task->counter);
- type = getType ("MSG_PROCESS_TASK_LINK");
+ type = getType ("MSG_PROCESS_TASK_LINK", getRootType());
new_pajeStartLink(MSG_get_clock(), getRootContainer(), type, process_container, "SR", key);
}
char str[INSTR_DEFAULT_STR_SIZE];
container_t process_container = getContainer (instr_process_id(MSG_process_self(), str, len));
- type_t type = getType ("MSG_PROCESS_STATE");
+ type_t type = getType ("MSG_PROCESS_STATE", process_container->type);
new_pajePopState (MSG_get_clock(), process_container, type);
}
}