X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f3b7e5f4b4d7c87ee3e8827313ec966ea8fc8387..ab5814bd4ea6117ecf9ac2df328333e89eb45f5f:/src/instr/instr_paje_header.cpp diff --git a/src/instr/instr_paje_header.cpp b/src/instr/instr_paje_header.cpp index 594462811f..d69e4ddf15 100644 --- a/src/instr/instr_paje_header.cpp +++ b/src/instr/instr_paje_header.cpp @@ -1,27 +1,26 @@ -/* Copyright (c) 2010-2020. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2010-2023. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ -#include "simgrid/Exception.hpp" +#include "simgrid/version.h" #include "src/instr/instr_private.hpp" -#include "xbt/virtu.h" /* xbt::cmdline */ +#include "src/smpi/include/private.hpp" +#include +#include extern std::ofstream tracing_file; -namespace simgrid { -namespace instr { -namespace paje { +namespace simgrid::instr::paje { void dump_generator_version() { tracing_file << "#This file was generated using SimGrid-" << SIMGRID_VERSION_MAJOR << "." << SIMGRID_VERSION_MINOR - << "." << SIMGRID_VERSION_PATCH << std::endl; + << "." << SIMGRID_VERSION_PATCH << '\n'; tracing_file << "#["; - for (auto str : simgrid::xbt::cmdline) { + for (auto const& str : simgrid::s4u::Engine::get_instance()->get_cmdline()) { tracing_file << str << " "; } - tracing_file << "]" << std::endl; + tracing_file << "]\n"; } void dump_comment_file(const std::string& filename) @@ -34,166 +33,162 @@ void dump_comment_file(const std::string& filename) throw TracingError(XBT_THROW_POINT, xbt::string_printf("Comment file %s could not be opened for reading.", filename.c_str())); - while (not fs.eof()) { - std::string line; - std::getline(fs, line); + std::string line; + while (std::getline(fs, line)) tracing_file << "# " << line; - } fs.close(); } void dump_header(bool basic, bool display_sizes) { // Types - tracing_file << "%EventDef PajeDefineContainerType " << PAJE_DefineContainerType << std::endl; - tracing_file << "% Alias string" << std::endl; + tracing_file << "%EventDef PajeDefineContainerType " << PajeEventType::DefineContainerType << '\n'; + tracing_file << "% Alias string\n"; if (basic) - tracing_file << "% ContainerType string" << std::endl; + tracing_file << "% ContainerType string\n"; else - tracing_file << "% Type string" << std::endl; - - tracing_file << "% Name string" << std::endl; - tracing_file << "%EndEventDef" << std::endl; - - tracing_file << "%EventDef PajeDefineVariableType " << PAJE_DefineVariableType << std::endl; - tracing_file << "% Alias string" << std::endl; - tracing_file << "% " << (basic ? "Container" : "") << "Type string" << std::endl; - tracing_file << "% Name string" << std::endl; - tracing_file << "% Color color" << std::endl; - tracing_file << "%EndEventDef" << std::endl; - - tracing_file << "%EventDef PajeDefineStateType " << PAJE_DefineStateType << std::endl; - tracing_file << "% Alias string" << std::endl; - tracing_file << "% " << (basic ? "Container" : "") << "Type string" << std::endl; - tracing_file << "% Name string" << std::endl; - tracing_file << "%EndEventDef" << std::endl; - - tracing_file << "%EventDef PajeDefineEventType " << PAJE_DefineEventType << std::endl; - tracing_file << "% Alias string" << std::endl; - tracing_file << "% " << (basic ? "Container" : "") << "Type string" << std::endl; - tracing_file << "% Name string" << std::endl; - tracing_file << "%EndEventDef" << std::endl; - - tracing_file << "%EventDef PajeDefineLinkType " << PAJE_DefineLinkType << std::endl; - tracing_file << "% Alias string" << std::endl; - tracing_file << "% " << (basic ? "Container" : "") << "Type string" << std::endl; - tracing_file << "% " << (basic ? "Source" : "Start") << "ContainerType string" << std::endl; - tracing_file << "% " << (basic ? "Dest" : "End") << "ContainerType string" << std::endl; - tracing_file << "% Name string" << std::endl; - tracing_file << "%EndEventDef" << std::endl; + tracing_file << "% Type string\n"; + + tracing_file << "% Name string\n"; + tracing_file << "%EndEventDef\n"; + + tracing_file << "%EventDef PajeDefineVariableType " << PajeEventType::DefineVariableType << '\n'; + tracing_file << "% Alias string\n"; + tracing_file << "% " << (basic ? "Container" : "") << "Type string\n"; + tracing_file << "% Name string\n"; + tracing_file << "% Color color\n"; + tracing_file << "%EndEventDef\n"; + + tracing_file << "%EventDef PajeDefineStateType " << PajeEventType::DefineStateType << '\n'; + tracing_file << "% Alias string\n"; + tracing_file << "% " << (basic ? "Container" : "") << "Type string\n"; + tracing_file << "% Name string\n"; + tracing_file << "%EndEventDef\n"; + + tracing_file << "%EventDef PajeDefineEventType " << PajeEventType::DefineEventType << '\n'; + tracing_file << "% Alias string\n"; + tracing_file << "% " << (basic ? "Container" : "") << "Type string\n"; + tracing_file << "% Name string\n"; + tracing_file << "%EndEventDef\n"; + + tracing_file << "%EventDef PajeDefineLinkType " << PajeEventType::DefineLinkType << '\n'; + tracing_file << "% Alias string\n"; + tracing_file << "% " << (basic ? "Container" : "") << "Type string\n"; + tracing_file << "% " << (basic ? "Source" : "Start") << "ContainerType string\n"; + tracing_file << "% " << (basic ? "Dest" : "End") << "ContainerType string\n"; + tracing_file << "% Name string\n"; + tracing_file << "%EndEventDef\n"; // EntityValue - tracing_file << "%EventDef PajeDefineEntityValue " << PAJE_DefineEntityValue << std::endl; - tracing_file << "% Alias string" << std::endl; - tracing_file << "% " << (basic ? "Entity" : "") << "Type string" << std::endl; - tracing_file << "% Name string" << std::endl; - tracing_file << "% Color color" << std::endl; - tracing_file << "%EndEventDef" << std::endl; + tracing_file << "%EventDef PajeDefineEntityValue " << PajeEventType::DefineEntityValue << '\n'; + tracing_file << "% Alias string\n"; + tracing_file << "% " << (basic ? "Entity" : "") << "Type string\n"; + tracing_file << "% Name string\n"; + tracing_file << "% Color color\n"; + tracing_file << "%EndEventDef\n"; // Container - tracing_file << "%EventDef PajeCreateContainer " << PAJE_CreateContainer << std::endl; - tracing_file << "% Time date" << std::endl; - tracing_file << "% Alias string" << std::endl; - tracing_file << "% Type string" << std::endl; - tracing_file << "% Container string" << std::endl; - tracing_file << "% Name string" << std::endl; - tracing_file << "%EndEventDef" << std::endl; - - tracing_file << "%EventDef PajeDestroyContainer " << PAJE_DestroyContainer << std::endl; - tracing_file << "% Time date" << std::endl; - tracing_file << "% Type string" << std::endl; - tracing_file << "% Name string" << std::endl; - tracing_file << "%EndEventDef" << std::endl; + tracing_file << "%EventDef PajeCreateContainer " << PajeEventType::CreateContainer << '\n'; + tracing_file << "% Time date\n"; + tracing_file << "% Alias string\n"; + tracing_file << "% Type string\n"; + tracing_file << "% Container string\n"; + tracing_file << "% Name string\n"; + tracing_file << "%EndEventDef\n"; + + tracing_file << "%EventDef PajeDestroyContainer " << PajeEventType::DestroyContainer << '\n'; + tracing_file << "% Time date\n"; + tracing_file << "% Type string\n"; + tracing_file << "% Name string\n"; + tracing_file << "%EndEventDef\n"; // Variable - tracing_file << "%EventDef PajeSetVariable " << PAJE_SetVariable << std::endl; - tracing_file << "% Time date" << std::endl; - tracing_file << "% Type string" << std::endl; - tracing_file << "% Container string" << std::endl; - tracing_file << "% Value double" << std::endl; - tracing_file << "%EndEventDef" << std::endl; - - tracing_file << "%EventDef PajeAddVariable " << PAJE_AddVariable << std::endl; - tracing_file << "% Time date" << std::endl; - tracing_file << "% Type string" << std::endl; - tracing_file << "% Container string" << std::endl; - tracing_file << "% Value double" << std::endl; - tracing_file << "%EndEventDef" << std::endl; - - tracing_file << "%EventDef PajeSubVariable " << PAJE_SubVariable << std::endl; - tracing_file << "% Time date" << std::endl; - tracing_file << "% Type string" << std::endl; - tracing_file << "% Container string" << std::endl; - tracing_file << "% Value double" << std::endl; - tracing_file << "%EndEventDef" << std::endl; + tracing_file << "%EventDef PajeSetVariable " << PajeEventType::SetVariable << '\n'; + tracing_file << "% Time date\n"; + tracing_file << "% Type string\n"; + tracing_file << "% Container string\n"; + tracing_file << "% Value double\n"; + tracing_file << "%EndEventDef\n"; + + tracing_file << "%EventDef PajeAddVariable " << PajeEventType::AddVariable << '\n'; + tracing_file << "% Time date\n"; + tracing_file << "% Type string\n"; + tracing_file << "% Container string\n"; + tracing_file << "% Value double\n"; + tracing_file << "%EndEventDef\n"; + + tracing_file << "%EventDef PajeSubVariable " << PajeEventType::SubVariable << '\n'; + tracing_file << "% Time date\n"; + tracing_file << "% Type string\n"; + tracing_file << "% Container string\n"; + tracing_file << "% Value double\n"; + tracing_file << "%EndEventDef\n"; // State - tracing_file << "%EventDef PajeSetState " << PAJE_SetState << std::endl; - tracing_file << "% Time date" << std::endl; - tracing_file << "% Type string" << std::endl; - tracing_file << "% Container string" << std::endl; - tracing_file << "% Value string" << std::endl; - tracing_file << "%EndEventDef" << std::endl; - - tracing_file << "%EventDef PajePushState " << PAJE_PushState << std::endl; - tracing_file << "% Time date" << std::endl; - tracing_file << "% Type string" << std::endl; - tracing_file << "% Container string" << std::endl; - tracing_file << "% Value string" << std::endl; + tracing_file << "%EventDef PajeSetState " << PajeEventType::SetState << '\n'; + tracing_file << "% Time date\n"; + tracing_file << "% Type string\n"; + tracing_file << "% Container string\n"; + tracing_file << "% Value string\n"; + tracing_file << "%EndEventDef\n"; + + tracing_file << "%EventDef PajePushState " << PajeEventType::PushState << '\n'; + tracing_file << "% Time date\n"; + tracing_file << "% Type string\n"; + tracing_file << "% Container string\n"; + tracing_file << "% Value string\n"; if (display_sizes) - tracing_file << "% Size int" << std::endl; + tracing_file << "% Size int\n"; #if HAVE_SMPI - if (simgrid::config::get_value("smpi/trace-call-location")) { + if (smpi_cfg_trace_call_location()) { /* paje currently (May 2016) uses "Filename" and "Linenumber" as reserved words. We cannot use them... */ - tracing_file << "% Fname string" << std::endl; - tracing_file << "% Lnumber int" << std::endl; + tracing_file << "% Fname string\n"; + tracing_file << "% Lnumber int\n"; } #endif - tracing_file << "%EndEventDef" << std::endl; + tracing_file << "%EndEventDef\n"; - tracing_file << "%EventDef PajePopState " << PAJE_PopState << std::endl; - tracing_file << "% Time date" << std::endl; - tracing_file << "% Type string" << std::endl; - tracing_file << "% Container string" << std::endl; - tracing_file << "%EndEventDef" << std::endl; + tracing_file << "%EventDef PajePopState " << PajeEventType::PopState << '\n'; + tracing_file << "% Time date\n"; + tracing_file << "% Type string\n"; + tracing_file << "% Container string\n"; + tracing_file << "%EndEventDef\n"; if (not basic) { - tracing_file << "%EventDef PajeResetState " << PAJE_ResetState << std::endl; - tracing_file << "% Time date" << std::endl; - tracing_file << "% Type string" << std::endl; - tracing_file << "% Container string" << std::endl; - tracing_file << "%EndEventDef" << std::endl; + tracing_file << "%EventDef PajeResetState " << PajeEventType::ResetState << '\n'; + tracing_file << "% Time date\n"; + tracing_file << "% Type string\n"; + tracing_file << "% Container string\n"; + tracing_file << "%EndEventDef\n"; } // Link - tracing_file << "%EventDef PajeStartLink " << PAJE_StartLink << std::endl; - tracing_file << "% Time date" << std::endl; - tracing_file << "% Type string" << std::endl; - tracing_file << "% Container string" << std::endl; - tracing_file << "% Value string" << std::endl; - tracing_file << "% " << (basic ? "Source" : "Start") << "Container string" << std::endl; - tracing_file << "% Key string" << std::endl; + tracing_file << "%EventDef PajeStartLink " << PajeEventType::StartLink << '\n'; + tracing_file << "% Time date\n"; + tracing_file << "% Type string\n"; + tracing_file << "% Container string\n"; + tracing_file << "% Value string\n"; + tracing_file << "% " << (basic ? "Source" : "Start") << "Container string\n"; + tracing_file << "% Key string\n"; if (display_sizes) - tracing_file << "% Size int" << std::endl; - tracing_file << "%EndEventDef" << std::endl; - - tracing_file << "%EventDef PajeEndLink " << PAJE_EndLink << std::endl; - tracing_file << "% Time date" << std::endl; - tracing_file << "% Type string" << std::endl; - tracing_file << "% Container string" << std::endl; - tracing_file << "% Value string" << std::endl; - tracing_file << "% " << (basic ? "Dest" : "End") << "Container string" << std::endl; - tracing_file << "% Key string" << std::endl; - tracing_file << "%EndEventDef" << std::endl; + tracing_file << "% Size int\n"; + tracing_file << "%EndEventDef\n"; + + tracing_file << "%EventDef PajeEndLink " << PajeEventType::EndLink << '\n'; + tracing_file << "% Time date\n"; + tracing_file << "% Type string\n"; + tracing_file << "% Container string\n"; + tracing_file << "% Value string\n"; + tracing_file << "% " << (basic ? "Dest" : "End") << "Container string\n"; + tracing_file << "% Key string\n"; + tracing_file << "%EndEventDef\n"; // Event - tracing_file << "%EventDef PajeNewEvent " << PAJE_NewEvent << std::endl; - tracing_file << "% Time date" << std::endl; - tracing_file << "% Type string" << std::endl; - tracing_file << "% Container string" << std::endl; - tracing_file << "% Value string" << std::endl; - tracing_file << "%EndEventDef" << std::endl; + tracing_file << "%EventDef PajeNewEvent " << PajeEventType::NewEvent << '\n'; + tracing_file << "% Time date\n"; + tracing_file << "% Type string\n"; + tracing_file << "% Container string\n"; + tracing_file << "% Value string\n"; + tracing_file << "%EndEventDef\n"; } -} // namespace paje -} // namespace instr -} // namespace simgrid +} // namespace simgrid::instr::paje