set(TRACING_SRC
src/instr/instr_config.c
- src/instr/instr_categories.c
src/instr/instr_interface.c
src/instr/instr_paje.c
src/instr/instr_msg_task.c
+++ /dev/null
-/* Copyright (c) 2010. The SimGrid Team.
- * All rights reserved. */
-
-/* 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/instr_private.h"
-
-#ifdef HAVE_TRACING
-
-XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_category, instr, "Tracing category set/get/del of SMX processes");
-
-static xbt_dict_t current_task_category = NULL;
-
-void TRACE_category_alloc()
-{
- current_task_category = xbt_dict_new();
-}
-
-void TRACE_category_release()
-{
- xbt_dict_free(¤t_task_category);
-}
-
-void TRACE_category_set(smx_process_t proc, const char *category)
-{
- char processid[100];
- char *var_cpy = NULL;
- snprintf(processid, 100, "%p", proc);
- var_cpy = xbt_strdup(category);
- DEBUG2("SET process %p, category %s", proc, category);
- xbt_dict_set(current_task_category, processid, var_cpy, xbt_free);
-}
-
-char *TRACE_category_get(smx_process_t proc)
-{
- char processid[100];
- snprintf(processid, 100, "%p", proc);
- char *ret = xbt_dict_get_or_null(current_task_category, processid);
- DEBUG2("GET process %p, category %s", proc, ret);
- return ret;
-}
-
-void TRACE_category_unset(smx_process_t proc)
-{
- char processid[100];
- snprintf(processid, 100, "%p", proc);
- char *category = xbt_dict_get_or_null(current_task_category, processid);
- if (category != NULL) {
- DEBUG2("DEL process %p, category %s", proc, category);
- xbt_dict_remove(current_task_category, processid);
- }
-}
-
-#endif /* HAVE_TRACING */
defined_types = xbt_dict_new();
created_categories = xbt_dict_new();
TRACE_msg_task_alloc();
- TRACE_category_alloc();
TRACE_surf_alloc();
TRACE_msg_process_alloc();
TRACE_smpi_alloc();
//trace task location grouped by host
TRACE_task_location_not_present(task);
-
- //set current category
- TRACE_category_set(SIMIX_process_self(), task->category);
return 1;
}
{
if (!TRACE_is_active())
return;
-
- TRACE_category_unset(SIMIX_process_self());
-
DEBUG0("PUT,in");
}
void pajeNewEvent(double time, const char *entityType,
const char *container, const char *value);
-/* from categories.c */
-void TRACE_category_alloc(void);
-void TRACE_category_release(void);
-void TRACE_category_set(smx_process_t proc, const char *category);
-char *TRACE_category_get(smx_process_t proc);
-void TRACE_category_unset(smx_process_t proc);
-
/* declaration of instrumentation functions from msg_task_instr.c */
char *TRACE_task_container(m_task_t task, char *output, int len);
void TRACE_msg_task_alloc(void);
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_simix, instr, "Tracing Simix");
-static long long int counter = 0; /* to uniquely identify simix actions */
-
void TRACE_smx_host_execute(smx_action_t act)
{
- if (!TRACE_is_active())
- return;
-
- act->counter = counter++;
- char *category = TRACE_category_get(SIMIX_process_self());
- if (category) {
- act->category = xbt_strdup(category);
- DEBUG2("Create Execute SMX action %p, category %s", act, act->category);
- }
+ if (!TRACE_is_active()) return;
TRACE_surf_resource_utilization_start(act);
+ return;
}
void TRACE_smx_action_communicate(smx_action_t act, smx_process_t proc)
{
- if (!TRACE_is_active())
- return;
-
- act->counter = counter++;
- char *category = TRACE_category_get(proc);
- if (category) {
- act->category = xbt_strdup(category);
- DEBUG2("Create Communicate SMX action %p, category %s", act, act->category);
- }
+ if (!TRACE_is_active()) return;
TRACE_surf_resource_utilization_start(act);
+ return;
}
void TRACE_smx_action_destroy(smx_action_t act)
{
- if (!TRACE_is_active())
- return;
-
- if (act->category) {
- DEBUG2("Destroy SMX action %p, category %s", act, act->category);
- xbt_free(act->category);
- }
+ if (!TRACE_is_active()) return;
TRACE_surf_resource_utilization_end(act);
+ return;
}
#endif /* HAVE_TRACING */
};
#ifdef HAVE_TRACING
- long long int counter; /* simix action unique identifier for instrumentation */
char *category; /* simix action category for instrumentation */
#endif
} s_smx_action_t;