From a4b0a684c019c3c69ccace47ad12d34258785a44 Mon Sep 17 00:00:00 2001 From: schnorr Date: Sat, 24 Mar 2012 23:00:23 +0100 Subject: [PATCH 1/1] [trace] two new functions for the SD API (set/get tracing categories) and their documentation --- doc/tracing.doc | 9 ++------ examples/simdag/simdag_trace.c | 6 ++--- include/simdag/simdag.h | 3 +++ src/simdag/sd_daxloader.c | 8 +++---- src/simdag/sd_dotloader.c | 2 +- src/simdag/sd_task.c | 40 ++++++++++++++++++++++++++++++++++ 6 files changed, 53 insertions(+), 15 deletions(-) diff --git a/doc/tracing.doc b/doc/tracing.doc index 6b61e35da6..d0e27e230d 100644 --- a/doc/tracing.doc +++ b/doc/tracing.doc @@ -51,13 +51,8 @@ $ make \li \c TRACE_category_with_color(const char *category, const char *color) \li \c MSG_task_set_category(m_task_t task, const char *category) \li \c MSG_task_get_category(m_task_t task) - -\li \c TRACE_sd_set_task_category (SD_task_t task, const char *category): -This function should be called after the creation of a SimDAG task, to define the -category of that task. The first parameter \c task must contain a task that was -created with the function \c MSG_task_create. The second parameter -\c category must contain a category that was previously defined by the function -\c TRACE_category. +\li \c SD_task_set_category(SD_task_t task, const char *category) +\li \c SD_task_get_category(SD_task_t task) \subsection instr_mark_functions Tracing marks functions \li \c TRACE_declare_mark(const char *mark_type) diff --git a/examples/simdag/simdag_trace.c b/examples/simdag/simdag_trace.c index 7452e70eb4..a39a9b8d47 100644 --- a/examples/simdag/simdag_trace.c +++ b/examples/simdag/simdag_trace.c @@ -62,9 +62,9 @@ int main(int argc, char **argv) TRACE_category ("taskA"); TRACE_category ("taskB"); TRACE_category ("taskC"); - TRACE_sd_set_task_category (taskA, "taskA"); - TRACE_sd_set_task_category (taskB, "taskB"); - TRACE_sd_set_task_category (taskC, "taskC"); + SD_task_set_category (taskA, "taskA"); + SD_task_set_category (taskB, "taskB"); + SD_task_set_category (taskC, "taskC"); /* if everything is ok, no exception is forwarded or rethrown by main() */ diff --git a/include/simdag/simdag.h b/include/simdag/simdag.h index cd501093bb..6dd9c2ec67 100644 --- a/include/simdag/simdag.h +++ b/include/simdag/simdag.h @@ -162,6 +162,9 @@ XBT_PUBLIC(SD_task_t) SD_task_create_comm_e2e(const char *name, void *data, XBT_PUBLIC(void) SD_task_schedulev(SD_task_t task, int count, const SD_workstation_t * list); XBT_PUBLIC(void) SD_task_schedulel(SD_task_t task, int count, ...); +XBT_PUBLIC(void) SD_task_set_category (SD_task_t task, const char *category); +XBT_PUBLIC(const char *) SD_task_get_category (SD_task_t task); + /** @brief A constant to use in SD_task_schedule to mean that there is no cost. * diff --git a/src/simdag/sd_daxloader.c b/src/simdag/sd_daxloader.c index c44a71926d..40b4e6298e 100644 --- a/src/simdag/sd_daxloader.c +++ b/src/simdag/sd_daxloader.c @@ -324,7 +324,7 @@ xbt_dynar_t SD_daxload(const char *filename) const char *category = depafter->src->category; if (category){ TRACE_category (category); - TRACE_sd_set_task_category (newfile, category); + SD_task_set_category (newfile, category); } } #endif @@ -340,7 +340,7 @@ xbt_dynar_t SD_daxload(const char *filename) const char *category = depbefore->src->category; if (category){ TRACE_category (category); - TRACE_sd_set_task_category (newfile, category); + SD_task_set_category (newfile, category); } } #endif @@ -362,7 +362,7 @@ xbt_dynar_t SD_daxload(const char *filename) const char *category = depbefore->src->category; if (category){ TRACE_category (category); - TRACE_sd_set_task_category (newfile, category); + SD_task_set_category (newfile, category); } } #endif @@ -409,7 +409,7 @@ void STag_dax__job(void) char *category = A_dax__job_name; if (category){ TRACE_category (category); - TRACE_sd_set_task_category(current_job, category); + SD_task_set_category(current_job, category); } #endif xbt_dict_set(jobs, A_dax__job_id, current_job, NULL); diff --git a/src/simdag/sd_dotloader.c b/src/simdag/sd_dotloader.c index 8ee8eacf87..8d150845ac 100644 --- a/src/simdag/sd_dotloader.c +++ b/src/simdag/sd_dotloader.c @@ -87,7 +87,7 @@ static void TRACE_sd_dotloader (SD_task_t task, const char *category) if (category){ if (strlen (category) != 0){ TRACE_category (category); - TRACE_sd_set_task_category (task, category); + SD_task_set_category (task, category); } } } diff --git a/src/simdag/sd_task.c b/src/simdag/sd_task.c index d1de2613f2..4070449679 100644 --- a/src/simdag/sd_task.c +++ b/src/simdag/sd_task.c @@ -1401,3 +1401,43 @@ void SD_task_schedulel(SD_task_t task, int count, ...) SD_task_schedulev(task, count, list); free(list); } + +/** + * \brief Sets the tracing category of a task. + * + * This function should be called after the creation of a + * SimDAG task, to define the category of that task. The first + * parameter must contain a task that was created with the + * function #SD_task_create. The second parameter must contain + * a category that was previously declared with the function + * #TRACE_category. + * + * \param task The task to be considered + * \param category the name of the category to be associated to the task + * + * \see SD_task_get_category, TRACE_category, TRACE_category_with_color + */ +void SD_task_set_category (SD_task_t task, const char *category) +{ +#ifdef HAVE_TRACING + TRACE_sd_set_task_category (task, category); +#endif +} + +/** + * \brief Gets the current tracing category of a task. + * + * \param task The task to be considered + * + * \see SD_task_set_category + * + * \return Returns the name of the tracing category of the given task, NULL otherwise + */ +const char *SD_task_get_category (SD_task_t task) +{ +#ifdef HAVE_TRACING + return task->category; +#else + return NULL; +#endif +} -- 2.20.1