diff --git a/fairmq/FairMQDevice.cxx b/fairmq/FairMQDevice.cxx index 483cf5ed..bfc86cf5 100644 --- a/fairmq/FairMQDevice.cxx +++ b/fairmq/FairMQDevice.cxx @@ -479,9 +479,9 @@ void FairMQDevice::SetTransport(const string& transport) #endif else { - LOG(ERROR) << "Unknown transport implementation requested: " - << transport - << ". Supported are " + LOG(ERROR) << "Unavailable transport implementation requested: " + << "\"" << transport << "\"" + << ". Available are: " << "\"zeromq\"" #ifdef NANOMSG_FOUND << ", \"nanomsg\"" diff --git a/fairmq/devices/FairMQMerger.cxx b/fairmq/devices/FairMQMerger.cxx index 5702d1a9..8755f23f 100644 --- a/fairmq/devices/FairMQMerger.cxx +++ b/fairmq/devices/FairMQMerger.cxx @@ -29,17 +29,17 @@ FairMQMerger::~FairMQMerger() void FairMQMerger::Run() { - std::unique_ptr poller(fTransportFactory->CreatePoller(fChannels.at("data-in"))); - // store the channel references to avoid traversing the map on every loop iteration + auto& dataInChannelRef = fChannels.at("data-in"); const FairMQChannel& dataOutChannel = fChannels.at("data-out").at(0); - std::vector dataInChannels(fChannels.at("data-in").size()); - for (unsigned int i = 0; i < fChannels.at("data-in").size(); ++i) + int numInputs = dataInChannelRef.size(); + std::vector dataInChannels(numInputs); + for (int i = 0; i < numInputs; ++i) { - dataInChannels.at(i) = &(fChannels.at("data-in").at(i)); + dataInChannels.at(i) = &(dataInChannelRef.at(i)); } - int numInputs = fChannels.at("data-in").size(); + std::unique_ptr poller(fTransportFactory->CreatePoller(dataInChannelRef)); while (CheckCurrentState(RUNNING)) { diff --git a/fairmq/devices/FairMQSplitter.cxx b/fairmq/devices/FairMQSplitter.cxx index 4466c89e..d21f66e2 100644 --- a/fairmq/devices/FairMQSplitter.cxx +++ b/fairmq/devices/FairMQSplitter.cxx @@ -28,17 +28,18 @@ FairMQSplitter::~FairMQSplitter() void FairMQSplitter::Run() { - int direction = 0; - int numOutputs = fChannels.at("data-out").size(); - // store the channel references to avoid traversing the map on every loop iteration + auto& dataOutChannelRef = fChannels.at("data-out"); const FairMQChannel& dataInChannel = fChannels.at("data-in").at(0); - FairMQChannel* dataOutChannels[fChannels.at("data-out").size()]; + int numOutputs = dataOutChannelRef.size(); + std::vector dataOutChannels(numOutputs); for (int i = 0; i < numOutputs; ++i) { - dataOutChannels[i] = &(fChannels.at("data-out").at(i)); + dataOutChannels[i] = &(dataOutChannelRef.at(i)); } + int direction = 0; + while (CheckCurrentState(RUNNING)) { std::unique_ptr msg(fTransportFactory->CreateMessage()); diff --git a/fairmq/logger/logger_def.h b/fairmq/logger/logger_def.h index 34dd5ed5..0be34706 100644 --- a/fairmq/logger/logger_def.h +++ b/fairmq/logger/logger_def.h @@ -13,7 +13,7 @@ */ #ifndef LOGGER_DEF_H -#define LOGGER_DEF_H +#define LOGGER_DEF_H #include #include @@ -34,28 +34,25 @@ namespace fairmq ERROR, STATE, NOLOG - }; - + }; static const std::array g_LogSeverityLevelString { { "TRACE", - "DEBUG", + "DEBUG", "RESULTS", - "INFO", - "WARN", - "ERROR", - "STATE", - "NOLOG" + "INFO", + "WARN", + "ERROR", + "STATE", + "NOLOG" } }; - - - namespace color + namespace color { - enum code + enum code { FG_BLACK = 30, FG_RED = 31, @@ -94,25 +91,24 @@ typedef fairmq::severity_level custom_severity_level; struct tag_console; struct tag_file; - // overload operator for console output inline boost::log::formatting_ostream& operator<< ( boost::log::formatting_ostream& strm, - boost::log::to_log_manip< custom_severity_level, tag_console > const& manip + boost::log::to_log_manip const& manip ) { custom_severity_level level = manip.get(); - std::size_t idx=static_cast< std::size_t >(level); - if ( idx < fairmq::g_LogSeverityLevelString.size() ) + std::size_t idx = static_cast(level); + if (idx < fairmq::g_LogSeverityLevelString.size()) { - //strm <<" idx = "<(fairmq::g_LogSeverityLevelString.at(idx)); break; - + case custom_severity_level::DEBUG : strm << write_in(fairmq::g_LogSeverityLevelString.at(idx)); break; @@ -123,34 +119,32 @@ inline boost::log::formatting_ostream& operator<< case custom_severity_level::INFO : strm << write_in(fairmq::g_LogSeverityLevelString.at(idx)); - break; - + break; + case custom_severity_level::WARN : strm << write_in(fairmq::g_LogSeverityLevelString.at(idx)); break; case custom_severity_level::STATE : strm << write_in(fairmq::g_LogSeverityLevelString.at(idx)); - break; - + break; + case custom_severity_level::ERROR : strm << write_in(fairmq::g_LogSeverityLevelString.at(idx)); - break; - + break; + case custom_severity_level::NOLOG : strm << write_in(fairmq::g_LogSeverityLevelString.at(idx)); break; - + default: break; } - } else { - strm << write_in("Unknown log level ") - << "(int level = "<(level) - <<")"; + strm << write_in("Unknown log level ") + << "(int level = " << static_cast(level) << ")"; } return strm; } @@ -159,27 +153,21 @@ inline boost::log::formatting_ostream& operator<< inline boost::log::formatting_ostream& operator<< ( boost::log::formatting_ostream& strm, - boost::log::to_log_manip< custom_severity_level, tag_file > const& manip + boost::log::to_log_manip const& manip ) { custom_severity_level level = manip.get(); - std::size_t idx=static_cast< std::size_t >(level); - if ( idx < fairmq::g_LogSeverityLevelString.size() ) + std::size_t idx = static_cast(level); + if (idx < fairmq::g_LogSeverityLevelString.size()) + { strm << fairmq::g_LogSeverityLevelString.at(idx); + } else { - strm << write_in("Unknown log level ") - << "(int level = "<(level) - <<")"; + strm << write_in("Unknown log level ") + << "(int level = " << static_cast(level) << ")"; } return strm; } - - - - - - -#endif /* LOGGER_DEF_H */ - +#endif /* LOGGER_DEF_H */ diff --git a/fairmq/options/FairProgOptions.cxx b/fairmq/options/FairProgOptions.cxx index 8d1233d2..9269da87 100644 --- a/fairmq/options/FairProgOptions.cxx +++ b/fairmq/options/FairProgOptions.cxx @@ -32,7 +32,6 @@ FairProgOptions::FairProgOptions() : fVarMap(), fSeverityMap() { - // define generic options fGenericDesc.add_options() ("help,h", "produce help") ("version,v", "print version") diff --git a/fairmq/run/startBenchmark.sh.in b/fairmq/run/startBenchmark.sh.in index 4920680f..11c519a6 100755 --- a/fairmq/run/startBenchmark.sh.in +++ b/fairmq/run/startBenchmark.sh.in @@ -1,14 +1,36 @@ #!/bin/bash +numMsgs="0" +msgSize="1000000" + +if [[ $1 =~ ^[0-9]+$ ]]; then + msgSize=$1 +fi + +echo "Starting benchmark with message size of $msgSize bytes." + +if [[ $2 =~ ^[0-9]+$ ]]; then + numMsgs=$2 +fi + +if [ $numMsgs = 0 ]; then + echo "Unlimited number of messages." +else + echo "Number of messages: $numMsgs." +fi + +echo "" +echo "Usage: startBenchmark [message size=1000000] [number of messages=0]" + SAMPLER="bsampler" SAMPLER+=" --id bsampler1" -SAMPLER+=" --msg-size 1000000" -#SAMPLER+=" --num-msgs 1000" +SAMPLER+=" --msg-size $msgSize" +SAMPLER+=" --num-msgs $numMsgs" SAMPLER+=" --config-json-file @CMAKE_BINARY_DIR@/bin/config/benchmark.json" -xterm -geometry 80x23+0+0 -hold -e @CMAKE_BINARY_DIR@/bin/$SAMPLER & +xterm -geometry 80x23+0+0 -hold -e taskset 0x1 @CMAKE_BINARY_DIR@/bin/$SAMPLER & SINK="sink" SINK+=" --id sink1" -#SINK+=" --num-msgs 1000" +SINK+=" --num-msgs $numMsgs" SINK+=" --config-json-file @CMAKE_BINARY_DIR@/bin/config/benchmark.json" -xterm -geometry 80x23+500+0 -hold -e @CMAKE_BINARY_DIR@/bin/$SINK & +xterm -geometry 80x23+500+0 -hold -e taskset 0x2 @CMAKE_BINARY_DIR@/bin/$SINK & diff --git a/fairmq/test/CMakeLists.txt b/fairmq/test/CMakeLists.txt index d65cfd3f..e606233c 100644 --- a/fairmq/test/CMakeLists.txt +++ b/fairmq/test/CMakeLists.txt @@ -27,9 +27,15 @@ Set(INCLUDE_DIRECTORIES Set(SYSTEM_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR} ${ZMQ_INCLUDE_DIR} - ${NANOMSG_INCLUDE_DIR} ) +If(NANOMSG_FOUND) + Set(SYSTEM_INCLUDE_DIRECTORIES + ${SYSTEM_INCLUDE_DIRECTORIES} + ${NANOMSG_INCLUDE_DIR} + ) +EndIf(NANOMSG_FOUND) + Include_Directories(${INCLUDE_DIRECTORIES}) Include_Directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})