-/* Copyright (c) 2010-2021. 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 <sstream>
#include <string>
-namespace simgrid {
-namespace instr {
+namespace simgrid::instr {
namespace paje {
void dump_generator_version();
*/
enum class TraceFormat { Paje, /*TimeIndependent*/ Ti };
extern TraceFormat trace_format;
-extern int trace_precision;
extern double last_timestamp_to_dump;
void init();
void define_callbacks();
-void platform_graph_export_graphviz(const std::string& output_filename);
-
void resource_set_utilization(const char* type, const char* name, const char* resource, const std::string& category,
double value, double now, double delta);
void dump_buffer(bool force);
// NoOpTI: init, finalize, test, wait, barrier
class NoOpTIData : public TIData {
- explicit NoOpTIData(const std::string&, double); // disallow this constructor inherited from TIData
-
public:
using TIData::TIData;
+ explicit NoOpTIData(const std::string&, double) = delete; // disallow this constructor inherited from TIData
+
std::string print() override { return get_name(); }
std::string display_size() override { return "NA"; }
};
// CPuTI: compute, sleep (+ waitAny and waitall out of laziness)
class CpuTIData : public TIData {
- explicit CpuTIData(const std::string&); // disallow this constructor inherited from TIData
-
public:
using TIData::TIData;
+ explicit CpuTIData(const std::string&) = delete; // disallow this constructor inherited from TIData
+
std::string print() override
{
std::stringstream stream;
// CollTI: bcast, reduce, allreduce, gather, scatter, allgather, alltoall
class CollTIData : public TIData {
int root_;
- int send_size_;
- int recv_size_;
+ size_t send_size_;
+ size_t recv_size_;
std::string send_type_;
std::string recv_type_;
public:
- CollTIData(const std::string& name, int root, double amount, int send_size, int recv_size,
+ CollTIData(const std::string& name, int root, double amount, size_t send_size, size_t recv_size,
const std::string& send_type, const std::string& recv_type)
: TIData(name, amount)
, root_(root)
{
std::stringstream stream;
stream << get_name() << " " << send_size_ << " ";
- if (recv_size_ >= 0)
+ if (recv_size_ > 0)
stream << recv_size_ << " ";
if (get_amount() >= 0.0)
stream << get_amount() << " ";
// VarCollTI: gatherv, scatterv, allgatherv, alltoallv (+ reducescatter out of laziness)
class VarCollTIData : public TIData {
int root_;
- size_t send_size_;
+ long int send_size_;
std::shared_ptr<std::vector<int>> sendcounts_;
- size_t recv_size_;
+ long int recv_size_;
std::shared_ptr<std::vector<int>> recvcounts_;
std::string send_type_;
std::string recv_type_;
public:
- VarCollTIData(const std::string& name, int root, size_t send_size, std::shared_ptr<std::vector<int>> sendcounts,
- size_t recv_size, std::shared_ptr<std::vector<int>> recvcounts, const std::string& send_type,
+ VarCollTIData(const std::string& name, int root, long int send_size, std::shared_ptr<std::vector<int>> sendcounts,
+ long int recv_size, std::shared_ptr<std::vector<int>> recvcounts, const std::string& send_type,
const std::string& recv_type)
: TIData(name)
, root_(root)
{
std::stringstream stream;
stream << get_name() << " ";
- if (send_size_ > 0)
+ if (send_size_ > -1)
stream << send_size_ << " ";
if (sendcounts_ != nullptr)
for (auto count : *sendcounts_)
stream << count << " ";
- if (recv_size_ > 0)
+ if (recv_size_ > -1)
stream << recv_size_ << " ";
if (recvcounts_ != nullptr)
for (auto count : *recvcounts_)
int tag_;
public:
- WaitTIData(int src, int dest, int tag) : TIData("wait"), src_(src), dest_(dest), tag_(tag){};
+ WaitTIData(const std::string& name, int src, int dest, int tag) : TIData(name), src_(src), dest_(dest), tag_(tag){};
std::string print() override
{
}
std::string display_size() override { return "NA"; }
};
-} // namespace instr
-} // namespace simgrid
+} // namespace simgrid::instr
XBT_PRIVATE std::string instr_pid(simgrid::s4u::Actor const& proc);
-extern XBT_PRIVATE std::set<std::string, std::less<>> created_categories;
-extern XBT_PRIVATE std::set<std::string, std::less<>> declared_marks;
-extern XBT_PRIVATE std::set<std::string, std::less<>> user_host_variables;
-extern XBT_PRIVATE std::set<std::string, std::less<>> user_vm_variables;
-extern XBT_PRIVATE std::set<std::string, std::less<>> user_link_variables;
-
/* from instr_config.c */
XBT_PRIVATE bool TRACE_needs_platform();
XBT_PRIVATE bool TRACE_is_enabled();
/* instr_paje.c */
void instr_new_variable_type(const std::string& new_typename, const std::string& color);
-void instr_new_user_variable_type(const std::string& father_type, const std::string& new_typename,
+void instr_new_user_variable_type(const std::string& parent_type, const std::string& new_typename,
const std::string& color);
-void instr_new_user_state_type(const std::string& father_type, const std::string& new_typename);
+void instr_new_user_state_type(const std::string& parent_type, const std::string& new_typename);
void instr_new_value_for_user_state_type(const std::string& new_typename, const char* value, const std::string& color);
XBT_PRIVATE void TRACE_help();