Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Enhance graphicator program
[simgrid.git] / tools / graphicator / graphicator.cpp
1 /* Copyright (c) 2008-2022. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #include "simgrid/instr.h"
8 #include "simgrid/s4u.hpp"
9
10 int main(int argc, char** argv)
11 {
12   simgrid::s4u::Engine e(&argc, argv);
13   xbt_assert(argc == 3, "Usage: %s <platform_file.xml> <graphviz_file.dot|graphviz_file.csv>", argv[0]);
14
15   e.load_platform(argv[1]);
16
17   const std::string outputfile(argv[2]);
18   const std::string extension = outputfile.substr(outputfile.find_last_of(".") + 1);
19   if(extension == "csv") {
20     printf("Dumping to CSV file\n");
21     simgrid::instr::platform_graph_export_csv(outputfile);
22   }
23   else if(extension == "dot") {
24     printf("Dumping to DOT file\n");
25     simgrid::instr::platform_graph_export_graphviz(outputfile);
26   }
27   else {
28     xbt_assert(false, "Unknown output file format, please use '.dot' or .csv' extension\n");
29   }
30   return 0;
31 }