Skip to content
Snippets Groups Projects
Commit a3418f70 authored by Florian Fischer's avatar Florian Fischer
Browse files

print blocked context FromAnywhere stats when STATS_BLOCKED_CONTEXT is set

This is analogue to what we do in emper/stats/worker.cpp since 46302a0f.
parent 6ba5b197
No related branches found
No related tags found
1 merge request!359print blocked context FromAnywhere stats when STATS_BLOCKED_CONTEXT is set
......@@ -5,6 +5,8 @@
#include <memory>
#include <string>
#include "Emper.hpp"
using namespace emper::stats;
FromAnywhere::FromAnywhere(workerid_t workerCount)
......@@ -24,22 +26,26 @@ void FromAnywhere::recordUnblockedContext(workeraffinity_t workerAffinity,
}
auto FromAnywhere::operator+=(const FromAnywhere& other) -> FromAnywhere& {
for (decltype(unblockAffinitiesGeneric)::size_type i = 0; i < unblockAffinitiesGeneric.size();
i++) {
unblockAffinitiesGeneric[i] += other.unblockAffinitiesGeneric[i];
unblockAffinitiesIo[i] += other.unblockAffinitiesIo[i];
if constexpr (emper::STATS_BLOCKED_CONTEXT) {
for (decltype(unblockAffinitiesGeneric)::size_type i = 0; i < unblockAffinitiesGeneric.size();
i++) {
unblockAffinitiesGeneric[i] += other.unblockAffinitiesGeneric[i];
unblockAffinitiesIo[i] += other.unblockAffinitiesIo[i];
}
}
return *this;
}
void FromAnywhere::print(std::ostream& out) {
for (decltype(unblockAffinitiesGeneric)::size_type i = 0; i < unblockAffinitiesGeneric.size();
++i) {
out << "unblock-affinities-fa-generic" << std::to_string(i) << ": "
<< std::to_string(unblockAffinitiesGeneric[i]) << std::endl;
}
for (decltype(unblockAffinitiesIo)::size_type i = 0; i < unblockAffinitiesIo.size(); ++i) {
out << "unblock-affinities-fa-io" << std::to_string(i) << ": "
<< std::to_string(unblockAffinitiesIo[i]) << std::endl;
if constexpr (emper::STATS_BLOCKED_CONTEXT) {
for (decltype(unblockAffinitiesGeneric)::size_type i = 0; i < unblockAffinitiesGeneric.size();
++i) {
out << "unblock-affinities-fa-generic" << std::to_string(i) << ": "
<< std::to_string(unblockAffinitiesGeneric[i]) << std::endl;
}
for (decltype(unblockAffinitiesIo)::size_type i = 0; i < unblockAffinitiesIo.size(); ++i) {
out << "unblock-affinities-fa-io" << std::to_string(i) << ": "
<< std::to_string(unblockAffinitiesIo[i]) << std::endl;
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment