stream << "rank-" << stoi(c.get_name().substr(5)) - 1 << "\"";
XBT_DEBUG("Dump %s", stream.str().c_str());
- tracing_file << stream.str() << std::endl;
+ tracing_file << stream.str() << '\n';
}
static void on_container_destruction_paje(const Container& c)
stream << std::fixed << std::setprecision(trace_precision) << PajeEventType::DestroyContainer << " ";
stream << timestamp << " " << c.get_type()->get_id() << " " << c.get_id();
XBT_DEBUG("Dump %s", stream.str().c_str());
- tracing_file << stream.str() << std::endl;
+ tracing_file << stream.str() << '\n';
}
}
#endif
ti_unique_file = new std::ofstream(filename.c_str(), std::ofstream::out);
xbt_assert(not ti_unique_file->fail(), "Tracefile %s could not be opened for writing", filename.c_str());
- tracing_file << filename << std::endl;
+ tracing_file << filename << '\n';
}
tracing_files.insert({&c, ti_unique_file});
}
if (not value.get_color().empty())
stream << " \"" << value.get_color() << "\"";
XBT_DEBUG("Dump %s", stream.str().c_str());
- tracing_file << stream.str() << std::endl;
+ tracing_file << stream.str() << '\n';
}
static void on_event_creation(PajeEvent& event)
static void on_event_destruction(const PajeEvent& event)
{
XBT_DEBUG("Dump %s", event.stream_.str().c_str());
- tracing_file << event.stream_.str() << std::endl;
+ tracing_file << event.stream_.str() << '\n';
}
static void on_state_event_destruction(const StateEvent& event)
{
if (event.has_extra())
- *tracing_files.at(event.get_container()) << event.stream_.str() << std::endl;
+ *tracing_files.at(event.get_container()) << event.stream_.str() << '\n';
}
static void on_type_creation(const Type& type, PajeEventType event_type)
if (type.is_colored())
stream << " \"" << type.get_color() << "\"";
XBT_DEBUG("Dump %s", stream.str().c_str());
- tracing_file << stream.str() << std::endl;
+ tracing_file << stream.str() << '\n';
}
static void on_link_type_creation(const Type& type, const Type& source, const Type& dest)
stream << PajeEventType::DefineLinkType << " " << type.get_id() << " " << type.get_parent()->get_id();
stream << " " << source.get_id() << " " << dest.get_id() << " " << type.get_name();
XBT_DEBUG("Dump %s", stream.str().c_str());
- tracing_file << stream.str() << std::endl;
+ tracing_file << stream.str() << '\n';
}
static void on_simulation_start()
/* output one line comment */
if (auto comment = simgrid::config::get_value<std::string>("tracing/comment"); not comment.empty())
- tracing_file << "# " << comment << std::endl;
+ tracing_file << "# " << comment << '\n';
/* output comment file */
paje::dump_comment_file(config::get_value<std::string>(OPT_TRACING_COMMENT_FILE));
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 const& str : simgrid::xbt::cmdline) {
tracing_file << str << " ";
}
- tracing_file << "]" << std::endl;
+ tracing_file << "]\n";
}
void dump_comment_file(const std::string& filename)
void dump_header(bool basic, bool display_sizes)
{
// Types
- tracing_file << "%EventDef PajeDefineContainerType " << PajeEventType::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 " << PajeEventType::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 " << PajeEventType::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 " << PajeEventType::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 " << PajeEventType::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 " << PajeEventType::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 " << PajeEventType::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 " << PajeEventType::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 " << PajeEventType::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 " << PajeEventType::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 " << PajeEventType::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 " << PajeEventType::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 " << PajeEventType::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 (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 " << PajeEventType::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 " << PajeEventType::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 " << PajeEventType::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 " << PajeEventType::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 " << PajeEventType::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 simgrid::instr::paje