-/* Copyright (c) 2008-2020. The SimGrid Team.
+/* Copyright (c) 2008-2023. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#include "simgrid/instr.h"
#include "simgrid/s4u.hpp"
-#include "xbt/graph.h"
int main(int argc, char** argv)
{
simgrid::s4u::Engine e(&argc, argv);
-
- xbt_assert(argc == 3, "Usage: %s <platform_file.xml> <graphviz_file.dot>", argv[0]);
+ xbt_assert(argc == 3, "Usage: %s <platform_file.xml> <graphviz_file.dot|graphviz_file.csv>", argv[0]);
e.load_platform(argv[1]);
- int status = TRACE_platform_graph_export_graphviz(argv[2]);
+ e.seal_platform();
- xbt_assert(status != 0, "%s expects --cfg=tracing:yes --cfg=tracing/platform:yes", argv[0]);
- e.run(); /* useless, except for correctly cleaning memory */
+ const std::string outputfile(argv[2]);
+ const std::string extension = outputfile.substr(outputfile.find_last_of(".") + 1);
+ if(extension == "csv") {
+ printf("Dumping to CSV file\n");
+ simgrid::instr::platform_graph_export_csv(outputfile);
+ }
+ else if(extension == "dot") {
+ printf("Dumping to DOT file\n");
+ simgrid::instr::platform_graph_export_graphviz(outputfile);
+ }
+ else {
+ xbt_die("Unknown output file format, please use '.dot' or .csv' extension");
+ }
return 0;
}