static void cat_configuration (FILE *file) { //register NODE and EDGE types output_types ("node", TRACE_get_node_types(), file); output_types ("edge", TRACE_get_edge_types(), file); fprintf (file, "\n"); //configuration for all nodes fprintf (file, " host = {\n" " type = \"square\";\n" " size = \"power\";\n"); output_categories ("p", TRACE_get_categories(), file); fprintf (file, " };\n" " link = {\n" " type = \"rhombus\";\n" " size = \"bandwidth\";\n"); output_categories ("b", TRACE_get_categories(), file); fprintf (file, " };\n"); //close }
int main(int argc, char *argv[]) { MSG_init(&argc, argv); xbt_assert(argc > 2, "Usage: %s platform_file deployment_file\n" "\tExample: %s msg_platform.xml msg_deployment.xml\n", argv[0], argv[0]); MSG_create_environment(argv[1]); //declaring user variables TRACE_host_variable_declare("is_worker"); TRACE_host_variable_declare("is_master"); TRACE_host_variable_declare("task_creation"); TRACE_host_variable_declare("task_computation"); //declaring user markers and values TRACE_declare_mark("msmark"); TRACE_declare_mark_value ("msmark", "start_send_tasks"); TRACE_declare_mark_value ("msmark", "finish_send_tasks"); //declaring user categories with RGB colors (values from 0 to 1) TRACE_category_with_color ("compute", "1 0 0"); //compute is red TRACE_category_with_color ("finalize", "0 1 0"); //finalize is green //categories without user-defined colors receive random colors generated by the tracing system TRACE_category ("request"); TRACE_category_with_color ("report", NULL); MSG_function_register("master", master); MSG_function_register("worker", worker); MSG_launch_application(argv[2]); MSG_main(); unsigned int cursor; xbt_dynar_t categories = TRACE_get_categories (); if (categories){ XBT_INFO ("Declared tracing categories:"); char *category; xbt_dynar_foreach (categories, cursor, category){ XBT_INFO ("%s", category); } xbt_dynar_free (&categories); }