/* 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. */
+/** @addtogroup MSG_examples
+ *
+ * - <b>tracing/categories.c</b> This is a master/slave program where the master creates
+ * tasks, send them to the slaves. For each task received, the slave executes
+ * it and then destroys it. This program declares several tracing categories that are
+ * used to classify tasks. When the program is executed, the tracing mechanism registers
+ * the resource utilization of hosts and links according to these categories. You might
+ * want to run this program with the following parameters:
+ * --cfg=tracing:1
+ * --cfg=tracing/categorized:1
+ * --cfg=tracing/uncategorized:1
+ * --cfg=triva/categorized:triva_cat.plist
+ * --cfg=triva/uncategorized:triva_uncat.plist
+ * (See \ref tracing_tracing_options for details)
+ */
+
#include <stdio.h>
#include "msg/msg.h"
#include "xbt/sysdep.h" /* calloc, printf */
int i;
for (i = 0; i < number_of_tasks; i++) {
- m_task_t task = NULL;
+ msg_task_t task = NULL;
//creating task and setting its category
if (i % 2) {
task = MSG_task_create("task_compute", 10000000, 0, NULL);
- TRACE_msg_set_task_category(task, "compute");
+ MSG_task_set_category(task, "compute");
} else if (i % 3) {
task = MSG_task_create("task_request", 10, 10, NULL);
- TRACE_msg_set_task_category(task, "request");
+ MSG_task_set_category(task, "request");
} else {
task = MSG_task_create("task_data", 10, 10000000, NULL);
- TRACE_msg_set_task_category(task, "data");
+ MSG_task_set_category(task, "data");
}
MSG_task_send(task, "master_mailbox");
}
for (i = 0; i < slaves_count; i++) {
- m_task_t finalize = MSG_task_create("finalize", 0, 1000, 0);
- TRACE_msg_set_task_category(finalize, "finalize");
+ msg_task_t finalize = MSG_task_create("finalize", 0, 1000, 0);
+ MSG_task_set_category(finalize, "finalize");
MSG_task_send(finalize, "master_mailbox");
}
/** Receiver function */
int slave(int argc, char *argv[])
{
- m_task_t task = NULL;
+ msg_task_t task = NULL;
while (1) {
MSG_task_receive(&(task), "master_mailbox");
/** Main function */
int main(int argc, char *argv[])
{
- MSG_global_init(&argc, argv);
+ MSG_init(&argc, argv);
if (argc < 3) {
printf("Usage: %s platform_file deployment_file\n", argv[0]);
exit(1);
MSG_launch_application(deployment_file);
MSG_main();
- MSG_clean();
return 0;
}