Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
more stringification/privatization
[simgrid.git] / src / instr / instr_paje_trace.cpp
index bc855cb..81f33e6 100644 (file)
@@ -121,22 +121,22 @@ static void print_timestamp(simgrid::instr::PajeEvent* event)
 }
 
 /* internal do the instrumentation module */
-static void insert_into_buffer(simgrid::instr::PajeEvent* tbi)
+void simgrid::instr::PajeEvent::insertIntoBuffer()
 {
-  if (TRACE_buffer() == 0){
-    tbi->print ();
-    delete tbi;
+  if (not TRACE_buffer()) {
+    print();
+    delete this;
     return;
   }
   buffer_debug(&buffer);
 
-  XBT_DEBUG("%s: insert event_type=%d, timestamp=%f, buffersize=%zu)", __FUNCTION__, (int)tbi->eventType_,
-            tbi->timestamp_, buffer.size());
+  XBT_DEBUG("%s: insert event_type=%d, timestamp=%f, buffersize=%zu)", __FUNCTION__, static_cast<int>(eventType_),
+            timestamp_, buffer.size());
   std::vector<simgrid::instr::PajeEvent*>::reverse_iterator i;
   for (i = buffer.rbegin(); i != buffer.rend(); ++i) {
     simgrid::instr::PajeEvent* e1 = *i;
-    XBT_DEBUG("compare to %p is of type %d; timestamp:%f", e1, (int)e1->eventType_, e1->timestamp_);
-    if (e1->timestamp_ <= tbi->timestamp_)
+    XBT_DEBUG("compare to %p is of type %d; timestamp:%f", e1, static_cast<int>(e1->eventType_), e1->timestamp_);
+    if (e1->timestamp_ <= timestamp_)
       break;
   }
   if (i == buffer.rend())
@@ -144,9 +144,8 @@ static void insert_into_buffer(simgrid::instr::PajeEvent* tbi)
   else if (i == buffer.rbegin())
     XBT_DEBUG("%s: inserted at end", __FUNCTION__);
   else
-    XBT_DEBUG("%s: inserted at pos= %zd from its end", __FUNCTION__,
-        std::distance(buffer.rbegin(),i));
-  buffer.insert(i.base(), tbi);
+    XBT_DEBUG("%s: inserted at pos= %zd from its end", __FUNCTION__, std::distance(buffer.rbegin(), i));
+  buffer.insert(i.base(), this);
 
   buffer_debug(&buffer);
 }
@@ -201,14 +200,13 @@ void LogContainerTypeDefinition(simgrid::instr::Type* type)
               TRACE_precision(), 0.);
     stream << std::fixed << std::setprecision(TRACE_precision());
     stream << simgrid::instr::PAJE_DefineContainerType;
-    stream << " " << type->id_ << " " << type->father_->id_ << " " << type->name_;
+    stream << " " << type->getId() << " " << type->father_->getId() << " " << type->getName();
     print_row();
   } else if (instr_fmt_type == instr_fmt_TI) {
     /* Nothing to do */
   } else {
     THROW_IMPOSSIBLE;
   }
-  //--
 }
 
 void LogVariableTypeDefinition(simgrid::instr::Type* type)
@@ -221,8 +219,8 @@ void LogVariableTypeDefinition(simgrid::instr::Type* type)
               TRACE_precision(), 0.);
     stream << std::fixed << std::setprecision(TRACE_precision());
     stream << simgrid::instr::PAJE_DefineVariableType;
-    stream << " " << type->id_ << " " << type->father_->id_ << " " << type->name_;
-    if (type->color_)
+    stream << " " << type->getId() << " " << type->father_->getId() << " " << type->getName();
+    if (type->isColored())
       stream << " \"" << type->color_ << "\"";
     print_row();
   } else if (instr_fmt_type == instr_fmt_TI) {
@@ -240,7 +238,7 @@ if (instr_fmt_type == instr_fmt_paje) {
             0.);
   stream << std::fixed << std::setprecision(TRACE_precision());
   stream << simgrid::instr::PAJE_DefineStateType;
-  stream << " " << type->id_ << " " << type->father_->id_ << " " << type->name_;
+  stream << " " << type->getId() << " " << type->father_->getId() << " " << type->getName();
   print_row();
   } else if (instr_fmt_type == instr_fmt_TI) {
     /* Nothing to do */
@@ -257,7 +255,7 @@ void LogDefineEventType(simgrid::instr::Type* type)
               TRACE_precision(), 0.);
     stream << std::fixed << std::setprecision(TRACE_precision());
     stream << simgrid::instr::PAJE_DefineEventType;
-    stream << " " << type->id_ << " " << type->father_->id_ << " " << type->name_;
+    stream << " " << type->getId() << " " << type->father_->getId() << " " << type->getName();
     print_row();
   } else if (instr_fmt_type == instr_fmt_TI) {
     /* Nothing to do */
@@ -275,8 +273,8 @@ if (instr_fmt_type == instr_fmt_paje) {
             0.);
   stream << std::fixed << std::setprecision(TRACE_precision());
   stream << simgrid::instr::PAJE_DefineLinkType;
-  stream << " " << type->id_ << " " << type->father_->id_ << " " << source->id_ << " " << dest->id_ << " "
-         << type->name_;
+  stream << " " << type->getId() << " " << type->father_->getId() << " " << source->getId() << " " << dest->getId()
+         << " " << type->getName();
   print_row();
   } else if (instr_fmt_type == instr_fmt_TI) {
     /* Nothing to do */
@@ -289,10 +287,10 @@ void simgrid::instr::Value::print()
 {
   XBT_DEBUG("%s: event_type=%d", __FUNCTION__, simgrid::instr::PAJE_DefineEntityValue);
   //print it
-if (instr_fmt_type == instr_fmt_paje) {
+  if (instr_fmt_type == instr_fmt_paje) {
     stream << std::fixed << std::setprecision(TRACE_precision());
     stream << simgrid::instr::PAJE_DefineEntityValue;
-    stream << " " << id_ << " " << father_->id_ << " " << name_;
+    stream << " " << id_ << " " << father_->getId() << " " << name_;
     if (isColored())
       stream << " \"" << color_ << "\"";
     print_row();
@@ -318,7 +316,7 @@ void LogContainerCreation (container_t container)
       stream << 0;
     else
       stream << timestamp;
-    stream << " " << container->id_ << " " << container->type_->id_ << " " << container->father_->id_ << " \""
+    stream << " " << container->id_ << " " << container->type_->getId() << " " << container->father_->id_ << " \""
            << container->name_ << "\"";
 
     print_row();
@@ -368,7 +366,7 @@ void LogContainerDestruction(container_t container)
         stream << 0;
     else
       stream << timestamp;
-    stream << " " << container->type_->id_ << " " << container->id_;
+    stream << " " << container->type_->getId() << " " << container->id_;
     print_row();
   } else if (instr_fmt_type == instr_fmt_TI) {
     if (not xbt_cfg_get_boolean("tracing/smpi/format/ti-one-file") || tracing_files.size() == 1) {
@@ -382,14 +380,10 @@ void LogContainerDestruction(container_t container)
 }
 
 simgrid::instr::SetVariableEvent::SetVariableEvent(double timestamp, container_t container, Type* type, double value)
-    : container(container), type(type), value(value)
+    : simgrid::instr::PajeEvent::PajeEvent(container, type, timestamp, PAJE_SetVariable), value(value)
 {
-  this->eventType_ = PAJE_SetVariable;
-  this->timestamp_ = timestamp;
-
   XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)eventType_, this->timestamp_);
-
-  insert_into_buffer (this);
+  insertIntoBuffer();
 }
 
 void simgrid::instr::SetVariableEvent::print()
@@ -399,7 +393,7 @@ void simgrid::instr::SetVariableEvent::print()
     stream << std::fixed << std::setprecision(TRACE_precision());
     stream << (int)this->eventType_;
     print_timestamp(this);
-    stream << " " << type->id_ << " " << container->id_ << " " << value;
+    stream << " " << type->getId() << " " << container->id_ << " " << value;
     print_row();
   } else if (instr_fmt_type == instr_fmt_TI) {
     /* Nothing to do */
@@ -410,14 +404,10 @@ void simgrid::instr::SetVariableEvent::print()
 
 simgrid::instr::AddVariableEvent::AddVariableEvent(double timestamp, container_t container, simgrid::instr::Type* type,
                                                    double value)
-    : container(container), type(type), value(value)
+    : simgrid::instr::PajeEvent::PajeEvent(container, type, timestamp, PAJE_AddVariable), value(value)
 {
-  this->eventType_ = PAJE_AddVariable;
-  this->timestamp_ = timestamp;
-
   XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)eventType_, this->timestamp_);
-
-  insert_into_buffer (this);
+  insertIntoBuffer();
 }
 
 void simgrid::instr::AddVariableEvent::print()
@@ -427,7 +417,7 @@ void simgrid::instr::AddVariableEvent::print()
     stream << std::fixed << std::setprecision(TRACE_precision());
     stream << (int)this->eventType_;
     print_timestamp(this);
-    stream << " " << type->id_ << " " << container->id_ << " " << value;
+    stream << " " << type->getId() << " " << container->id_ << " " << value;
     print_row();
   } else if (instr_fmt_type == instr_fmt_TI) {
     /* Nothing to do */
@@ -437,14 +427,10 @@ void simgrid::instr::AddVariableEvent::print()
 }
 
 simgrid::instr::SubVariableEvent::SubVariableEvent(double timestamp, container_t container, Type* type, double value)
-    : container(container), type(type), value(value)
+    : simgrid::instr::PajeEvent::PajeEvent(container, type, timestamp, PAJE_SubVariable), value(value)
 {
-  this->eventType_ = PAJE_SubVariable;
-  this->timestamp_ = timestamp;
-
   XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)eventType_, this->timestamp_);
-
-  insert_into_buffer (this);
+  insertIntoBuffer();
 }
 
 void simgrid::instr::SubVariableEvent::print()
@@ -454,7 +440,7 @@ void simgrid::instr::SubVariableEvent::print()
     stream << std::fixed << std::setprecision(TRACE_precision());
     stream << (int)this->eventType_;
     print_timestamp(this);
-    stream << " " << type->id_ << " " << container->id_ << " " << value;
+    stream << " " << type->getId() << " " << container->id_ << " " << value;
     print_row();
   } else if (instr_fmt_type == instr_fmt_TI) {
     /* Nothing to do */
@@ -464,11 +450,8 @@ void simgrid::instr::SubVariableEvent::print()
 }
 
 simgrid::instr::SetStateEvent::SetStateEvent(double timestamp, container_t container, Type* type, Value* value)
-    : container(container), type(type), value(value)
+    : simgrid::instr::PajeEvent::PajeEvent(container, type, timestamp, PAJE_SetState), value(value)
 {
-  this->eventType_                      = PAJE_SetState;
-  this->timestamp_                      = timestamp;
-
 #if HAVE_SMPI
   if (xbt_cfg_get_boolean("smpi/trace-call-location")) {
     smpi_trace_call_location_t* loc = smpi_trace_get_call_location();
@@ -478,8 +461,7 @@ simgrid::instr::SetStateEvent::SetStateEvent(double timestamp, container_t conta
 #endif
 
   XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)eventType_, this->timestamp_);
-
-  insert_into_buffer (this);
+  insertIntoBuffer();
 }
 
 void simgrid::instr::SetStateEvent::print()
@@ -489,7 +471,7 @@ void simgrid::instr::SetStateEvent::print()
     stream << std::fixed << std::setprecision(TRACE_precision());
     stream << (int)this->eventType_;
     print_timestamp(this);
-    stream << " " << type->id_ << " " << container->id_;
+    stream << " " << type->getId() << " " << container->id_;
     stream << " " << value->getId();
 #if HAVE_SMPI
     if (xbt_cfg_get_boolean("smpi/trace-call-location")) {
@@ -506,11 +488,8 @@ void simgrid::instr::SetStateEvent::print()
 
 simgrid::instr::PushStateEvent::PushStateEvent(double timestamp, container_t container, Type* type, Value* value,
                                                void* extra)
-    : container(container), type(type), value(value), extra_(extra)
+    : simgrid::instr::PajeEvent::PajeEvent(container, type, timestamp, PAJE_PushState), value(value), extra_(extra)
 {
-  this->eventType_                  = PAJE_PushState;
-  this->timestamp_                  = timestamp;
-
 #if HAVE_SMPI
   if (xbt_cfg_get_boolean("smpi/trace-call-location")) {
     smpi_trace_call_location_t* loc = smpi_trace_get_call_location();
@@ -521,7 +500,7 @@ simgrid::instr::PushStateEvent::PushStateEvent(double timestamp, container_t con
 
   XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)eventType_, this->timestamp_);
 
-  insert_into_buffer (this);
+  insertIntoBuffer();
 }
 
 simgrid::instr::PushStateEvent::PushStateEvent(double timestamp, container_t container, Type* type, Value* val)
@@ -534,7 +513,7 @@ void simgrid::instr::PushStateEvent::print()
     stream << std::fixed << std::setprecision(TRACE_precision());
     stream << (int)this->eventType_;
     print_timestamp(this);
-    stream << " " << type->id_ << " " << container->id_;
+    stream << " " << type->getId() << " " << container->id_;
     stream << " " << value->getId();
 
     if (TRACE_display_sizes()) {
@@ -694,14 +673,10 @@ void simgrid::instr::PushStateEvent::print()
 }
 
 simgrid::instr::PopStateEvent::PopStateEvent(double timestamp, container_t container, Type* type)
-    : container(container), type(type)
+    : simgrid::instr::PajeEvent::PajeEvent(container, type, timestamp, PAJE_PopState)
 {
-  this->eventType_ = PAJE_PopState;
-  this->timestamp_ = timestamp;
-
   XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)eventType_, this->timestamp_);
-
-  insert_into_buffer (this);
+  insertIntoBuffer();
 }
 
 void simgrid::instr::PopStateEvent::print()
@@ -711,7 +686,7 @@ void simgrid::instr::PopStateEvent::print()
     stream << std::fixed << std::setprecision(TRACE_precision());
     stream << (int)this->eventType_;
     print_timestamp(this);
-    stream << " " << type->id_ << " " << container->id_;
+    stream << " " << type->getId() << " " << container->id_;
     print_row();
   } else if (instr_fmt_type == instr_fmt_TI) {
     /* Nothing to do */
@@ -721,14 +696,10 @@ void simgrid::instr::PopStateEvent::print()
 }
 
 simgrid::instr::ResetStateEvent::ResetStateEvent(double timestamp, container_t container, Type* type)
-    : container(container), type(type)
+    : simgrid::instr::PajeEvent::PajeEvent(container, type, timestamp, PAJE_ResetState)
 {
-  this->eventType_ = PAJE_ResetState;
-  this->timestamp_ = timestamp;
-
   XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)eventType_, this->timestamp_);
-
-  insert_into_buffer (this);
+  insertIntoBuffer();
   delete[] this;
 }
 
@@ -739,7 +710,7 @@ void simgrid::instr::ResetStateEvent::print()
     stream << std::fixed << std::setprecision(TRACE_precision());
     stream << (int)this->eventType_;
     print_timestamp(this);
-    stream << " " << type->id_ << " " << container->id_;
+    stream << " " << type->getId() << " " << container->id_;
     print_row();
   } else if (instr_fmt_type == instr_fmt_TI) {
     /* Nothing to do */
@@ -749,26 +720,21 @@ void simgrid::instr::ResetStateEvent::print()
 }
 
 simgrid::instr::StartLinkEvent::StartLinkEvent(double timestamp, container_t container, Type* type,
-                                               container_t sourceContainer, const char* value, const char* key)
+                                               container_t sourceContainer, std::string value, std::string key)
     : StartLinkEvent(timestamp, container, type, sourceContainer, value, key, -1)
 {}
 
 simgrid::instr::StartLinkEvent::StartLinkEvent(double timestamp, container_t container, Type* type,
-                                               container_t sourceContainer, const char* value, const char* key,
+                                               container_t sourceContainer, std::string value, std::string key,
                                                int size)
-    : container_(container)
-    , type_(type)
+    : simgrid::instr::PajeEvent::PajeEvent(container, type, timestamp, PAJE_StartLink)
     , sourceContainer_(sourceContainer)
     , value_(value)
     , key_(key)
     , size_(size)
 {
-  eventType_            = PAJE_StartLink;
-  this->timestamp_      = timestamp;
-
   XBT_DEBUG("%s: event_type=%d, timestamp=%f, value:%s", __FUNCTION__, (int)eventType_, this->timestamp_, this->value_.c_str());
-
-  insert_into_buffer (this);
+  insertIntoBuffer();
 }
 
 void simgrid::instr::StartLinkEvent::print()
@@ -778,7 +744,7 @@ void simgrid::instr::StartLinkEvent::print()
     stream << std::fixed << std::setprecision(TRACE_precision());
     stream << (int)this->eventType_;
     print_timestamp(this);
-    stream << " " << type_->id_ << " " << container_->id_ << " " << value_;
+    stream << " " << type->getId() << " " << container->id_ << " " << value_;
     stream << " " << sourceContainer_->id_ << " " << key_;
 
     if (TRACE_display_sizes()) {
@@ -794,14 +760,13 @@ void simgrid::instr::StartLinkEvent::print()
 
 simgrid::instr::EndLinkEvent::EndLinkEvent(double timestamp, container_t container, Type* type,
                                            container_t destContainer, std::string value, std::string key)
-    : container(container), type(type), destContainer(destContainer), value(value), key(key)
+    : simgrid::instr::PajeEvent::PajeEvent(container, type, timestamp, PAJE_EndLink)
+    , destContainer(destContainer)
+    , value(value)
+    , key(key)
 {
-  this->eventType_    = PAJE_EndLink;
-  this->timestamp_    = timestamp;
-
   XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)eventType_, this->timestamp_);
-
-  insert_into_buffer (this);
+  insertIntoBuffer();
 }
 
 void simgrid::instr::EndLinkEvent::print()
@@ -811,7 +776,7 @@ void simgrid::instr::EndLinkEvent::print()
     stream << std::fixed << std::setprecision(TRACE_precision());
     stream << (int)this->eventType_;
     print_timestamp(this);
-    stream << " " << type->id_ << " " << container->id_ << " " << value;
+    stream << " " << type->getId() << " " << container->id_ << " " << value;
     stream << " " << destContainer->id_ << " " << key;
     print_row();
   } else if (instr_fmt_type == instr_fmt_TI) {
@@ -822,16 +787,13 @@ void simgrid::instr::EndLinkEvent::print()
 }
 
 simgrid::instr::NewEvent::NewEvent(double timestamp, container_t container, Type* type, Value* val)
+    : simgrid::instr::PajeEvent::PajeEvent(container, type, timestamp, PAJE_NewEvent)
 {
-  this->eventType_                      = PAJE_NewEvent;
-  this->timestamp_                      = timestamp;
-  this->type      = type;
-  this->container = container;
   this->val                             = val;
 
   XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)eventType_, this->timestamp_);
 
-  insert_into_buffer (this);
+  insertIntoBuffer();
 }
 
 void simgrid::instr::NewEvent::print()
@@ -841,7 +803,7 @@ void simgrid::instr::NewEvent::print()
     stream << std::fixed << std::setprecision(TRACE_precision());
     stream << (int)this->eventType_;
     print_timestamp(this);
-    stream << " " << type->id_ << " " << container->id_ << " " << val->getId();
+    stream << " " << type->getId() << " " << container->id_ << " " << val->getId();
     print_row();
   } else if (instr_fmt_type == instr_fmt_TI) {
     /* Nothing to do */