summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
7286db7)
- print might be called several times when debug is on, leading to double frees.
- actually emove the calls to buffer_debug, printing the whole buffer twice at each tracing event is a tiny bit too much (and it ruins the output trace).
The helper function is still there, I don't know whether to remove it or not.
tracing_file << stream_.str() << std::endl;
}
tracing_file << stream_.str() << std::endl;
}
+StateEvent::~StateEvent(){
+ delete extra_;
+}
+
void StateEvent::print()
{
if (trace_format == simgrid::instr::TraceFormat::Paje) {
void StateEvent::print()
{
if (trace_format == simgrid::instr::TraceFormat::Paje) {
public:
StateEvent(Container* container, Type* type, e_event_type event_type, EntityValue* value, TIData* extra);
public:
StateEvent(Container* container, Type* type, e_event_type event_type, EntityValue* value, TIData* extra);
void print() override;
};
void print() override;
};
/* internal do the instrumentation module */
void simgrid::instr::PajeEvent::insert_into_buffer()
{
/* internal do the instrumentation module */
void simgrid::instr::PajeEvent::insert_into_buffer()
{
- buffer_debug(&buffer);
-
XBT_DEBUG("%s: insert event_type=%u, timestamp=%f, buffersize=%zu)", __func__, eventType_, timestamp_, buffer.size());
std::vector<simgrid::instr::PajeEvent*>::reverse_iterator i;
for (i = buffer.rbegin(); i != buffer.rend(); ++i) {
XBT_DEBUG("%s: insert event_type=%u, timestamp=%f, buffersize=%zu)", __func__, eventType_, timestamp_, buffer.size());
std::vector<simgrid::instr::PajeEvent*>::reverse_iterator i;
for (i = buffer.rbegin(); i != buffer.rend(); ++i) {
else
XBT_DEBUG("%s: inserted at pos= %zd from its end", __func__, std::distance(buffer.rbegin(), i));
buffer.insert(i.base(), this);
else
XBT_DEBUG("%s: inserted at pos= %zd from its end", __func__, std::distance(buffer.rbegin(), i));
buffer.insert(i.base(), this);
-
- buffer_debug(&buffer);