No public description
PiperOrigin-RevId: 640895934
Change-Id: Ic009ccd707e7796b763c907aae38ae0b5e2d2fae
diff --git a/cheriot/cheriot_renode.cc b/cheriot/cheriot_renode.cc
index ad96a65..321cadb 100644
--- a/cheriot/cheriot_renode.cc
+++ b/cheriot/cheriot_renode.cc
@@ -183,6 +183,18 @@
}
inst_profile_file.close();
}
+ if (mem_profiler_ != nullptr) {
+ std::string mem_profile_file_name =
+ absl::StrCat("./mpact_cheriot_", name_, "_mem_profile.csv");
+ std::fstream mem_profile_file(mem_profile_file_name.c_str(),
+ std::ios_base::out);
+ if (!mem_profile_file.good()) {
+ LOG(ERROR) << "Failed to write profile to file";
+ } else {
+ mem_profiler_->WriteProfile(mem_profile_file);
+ }
+ mem_profile_file.close();
+ }
// Export counters.
auto component_proto = std::make_unique<ComponentData>();
CHECK_OK(cheriot_top_->Export(component_proto.get()))
diff --git a/cheriot/memory_use_profiler.h b/cheriot/memory_use_profiler.h
index c7ebf83..68e8fd4 100644
--- a/cheriot/memory_use_profiler.h
+++ b/cheriot/memory_use_profiler.h
@@ -89,6 +89,7 @@
// Accessor.
void set_is_enabled(bool is_enabled) { is_enabled_ = is_enabled; }
+ bool is_enabled() const { return is_enabled_; }
private:
bool is_enabled_ = false;