Skip to content
Snippets Groups Projects
Commit 4d90dfc0 authored by Florian Schmaus's avatar Florian Schmaus
Browse files

Merge branch 'unblock-stats' into 'master'

print blocked context FromAnywhere stats when STATS_BLOCKED_CONTEXT is set

See merge request !359
parents 6ba5b197 a3418f70
No related branches found
No related tags found
1 merge request!359print blocked context FromAnywhere stats when STATS_BLOCKED_CONTEXT is set
Pipeline #78133 passed
......@@ -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