From 750d6156bb45de179d64d5d6e0de1b7a1f2dc9e2 Mon Sep 17 00:00:00 2001 From: schnorr Date: Mon, 12 Apr 2010 14:46:57 +0000 Subject: [PATCH] tracing the masterslave_mailbox example git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7536 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- .../msg/masterslave/masterslave_mailbox.c | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/examples/msg/masterslave/masterslave_mailbox.c b/examples/msg/masterslave/masterslave_mailbox.c index e614a3400f..6341506ab6 100644 --- a/examples/msg/masterslave/masterslave_mailbox.c +++ b/examples/msg/masterslave/masterslave_mailbox.c @@ -27,6 +27,8 @@ int master(int argc, char *argv[]) double task_comm_size = atof(argv[3]); long slaves_count = atol(argv[4]); + TRACE_host_variable_set ("is_master", 1); + int i; INFO2("Got %ld slaves and %ld tasks to process", slaves_count,number_of_tasks); @@ -39,6 +41,8 @@ int master(int argc, char *argv[]) sprintf(mailbox,"slave-%ld",i % slaves_count); sprintf(sprintf_buffer, "Task_%d", i); task = MSG_task_create(sprintf_buffer, task_comp_size, task_comm_size, NULL); + TRACE_host_variable_set ("task_creation", i); + TRACE_msg_set_task_category (task, "compute"); if (number_of_tasks<10000 || i%10000 == 0) INFO3("Sending \"%s\" (of %ld) to mailbox \"%s\"", task->name, number_of_tasks, mailbox); @@ -50,7 +54,9 @@ int master(int argc, char *argv[]) char mailbox[80]; sprintf(mailbox,"slave-%ld",i % slaves_count); - MSG_task_send(MSG_task_create("finalize", 0, 0, 0), mailbox); + m_task_t finalize = MSG_task_create ("finalize", 0, 0, 0); + TRACE_msg_set_task_category(finalize, "finalize"); + MSG_task_send(finalize, mailbox); } // INFO0("Goodbye now!"); @@ -65,6 +71,8 @@ int slave(int argc, char *argv[]) int id = -1; char mailbox[80]; + TRACE_host_variable_set ("is_slave", 1); + xbt_assert1(sscanf(argv[1],"%d", &id), "Invalid argument %s\n",argv[1]); @@ -81,6 +89,7 @@ int slave(int argc, char *argv[]) } // INFO1("Processing \"%s\"", MSG_task_get_name(task)); + TRACE_host_variable_add ("task_computation", MSG_task_get_compute_duration(task)); MSG_task_execute(task); // INFO1("\"%s\" done", MSG_task_get_name(task)); MSG_task_destroy(task); @@ -118,6 +127,14 @@ int main(int argc, char *argv[]) { MSG_error_t res = MSG_OK; + TRACE_start ("zmsg_test.trace"); + TRACE_host_variable_declare ("is_slave"); + TRACE_host_variable_declare ("is_master"); + TRACE_host_variable_declare ("task_creation"); + TRACE_host_variable_declare ("task_computation"); + TRACE_category ("compute"); + TRACE_category ("finalize"); + MSG_global_init(&argc,argv); if (argc < 3) { printf ("Usage: %s platform_file deployment_file\n",argv[0]); @@ -128,6 +145,8 @@ int main(int argc, char *argv[]) SIMIX_message_sizes_output("toto.txt"); MSG_clean(); + TRACE_end(); + if(res==MSG_OK) return 0; else -- 2.20.1