/* 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 "xbt/log.h"
-#include "xbt/sysdep.h"
-#include <ostream>
#include "src/kernel/resource/profile/Profile.hpp"
-#include <boost/algorithm/string.hpp>
-#include "src/kernel/resource/profile/FutureEvtSet.cpp"
-#include "src/kernel/resource/profile/DatedValue.cpp"
#include "simgrid/forward.h"
+#include "src/kernel/resource/profile/DatedValue.hpp"
+#include "src/kernel/resource/profile/Event.hpp"
+#include "src/kernel/resource/profile/FutureEvtSet.hpp"
+#include "src/surf/surf_interface.hpp"
+
+#include <boost/algorithm/string.hpp>
+#include <fstream>
+#include <ostream>
+#include <sstream>
+#include <unordered_map>
#include <vector>
static std::unordered_map<std::string, simgrid::kernel::profile::Profile*> trace_list;
DatedValue val(0, -1);
event_list.push_back(val);
}
-Profile::~Profile() = default;
+Profile::~Profile() = default;
/** @brief Register this profile for that resource onto that FES,
* and get an iterator over the integrated trace */
return Profile::from_string(path, buffer.str(), -1);
}
-
+
} // namespace profile
} // namespace kernel
} // namespace simgrid
+
+void tmgr_finalize()
+{
+ for (auto const& kv : trace_list)
+ delete kv.second;
+ trace_list.clear();
+}
+
+void tmgr_trace_event_unref(simgrid::kernel::profile::Event** event)
+{
+ if ((*event)->free_me) {
+ delete *event;
+ *event = nullptr;
+ }
+}