Ejemplo n.º 1
0
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
}
Ejemplo n.º 2
0
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);
  }