diff --git a/examples/multiple-transports/fairmq-start-ex-multiple-transports.sh.in b/examples/multiple-transports/fairmq-start-ex-multiple-transports.sh.in index bfcf07ac..d79a110b 100755 --- a/examples/multiple-transports/fairmq-start-ex-multiple-transports.sh.in +++ b/examples/multiple-transports/fairmq-start-ex-multiple-transports.sh.in @@ -24,4 +24,4 @@ SINK+=" --transport shmem" SINK+=" --channel-config name=data1,type=pull,method=connect,address=tcp://127.0.0.1:5555" SINK+=" name=data2,type=pull,method=connect,address=tcp://127.0.0.1:5556,transport=nanomsg" SINK+=" name=ack,type=pub,method=connect,address=tcp://127.0.0.1:5557,transport=zeromq" -xterm -geometry 80x30+500+0 -hold -e @EX_BIN_DIR@/$SINK & +xterm -geometry 80x30+500+225 -hold -e @EX_BIN_DIR@/$SINK & diff --git a/fairmq/DeviceRunner.cxx b/fairmq/DeviceRunner.cxx index 93f446b5..04779bc4 100644 --- a/fairmq/DeviceRunner.cxx +++ b/fairmq/DeviceRunner.cxx @@ -56,6 +56,8 @@ auto DeviceRunner::Run() -> int return 1; } + fDevice->SetRawCmdLineArgs(fRawCmdLineArgs); + // Handle --print-channels fDevice->RegisterChannelEndpoints(); if (fConfig.Count("print-channels")) diff --git a/fairmq/FairMQDevice.cxx b/fairmq/FairMQDevice.cxx index eeabca7b..42d8c489 100644 --- a/fairmq/FairMQDevice.cxx +++ b/fairmq/FairMQDevice.cxx @@ -26,6 +26,8 @@ #include #include #include +#include +#include // std::max using namespace std; @@ -57,6 +59,7 @@ FairMQDevice::FairMQDevice() , fVersion({0, 0, 0}) , fRate(0.) , fLastTime(0) + , fRawCmdLineArgs() { } @@ -87,6 +90,7 @@ FairMQDevice::FairMQDevice(const fair::mq::tools::Version version) , fVersion(version) , fRate(0.) , fLastTime(0) + , fRawCmdLineArgs() { } @@ -869,6 +873,8 @@ void FairMQDevice::LogSocketRates() vector logIntervals; vector intervalCounters; + size_t chanNameLen = 0; + // iterate over the channels map for (const auto& mi : fChannels) { @@ -881,6 +887,7 @@ void FairMQDevice::LogSocketRates() logIntervals.push_back(vi->fRateLogging); intervalCounters.push_back(0); filteredChannelNames.push_back(fair::mq::tools::ToString(mi.first, "[", vi - (mi.second).begin(), "]")); + chanNameLen = max(chanNameLen, filteredChannelNames.back().length()); } } } @@ -949,9 +956,9 @@ void FairMQDevice::LogSocketRates() bytesOut.at(i) = bytesOutNew.at(i); msgOut.at(i) = msgOutNew.at(i); - LOG(info) << filteredChannelNames.at(i) << ": " - << "in: " << msgPerSecIn.at(i) << " (" << mbPerSecIn.at(i) << " MB) " - << "out: " << msgPerSecOut.at(i) << " (" << mbPerSecOut.at(i) << " MB)"; + LOG(info) << setw(chanNameLen) << filteredChannelNames.at(i) << ": " + << "in: " << msgPerSecIn.at(i) << " (" << mbPerSecIn.at(i) << " MB) " + << "out: " << msgPerSecOut.at(i) << " (" << mbPerSecOut.at(i) << " MB)"; } ++i; diff --git a/fairmq/FairMQDevice.h b/fairmq/FairMQDevice.h index 06bafb38..0579423e 100644 --- a/fairmq/FairMQDevice.h +++ b/fairmq/FairMQDevice.h @@ -413,6 +413,9 @@ class FairMQDevice : public FairMQStateMachine void SetInitializationTimeoutInS(int initializationTimeoutInS) { fInitializationTimeoutInS = initializationTimeoutInS; } int GetInitializationTimeoutInS() const { return fInitializationTimeoutInS; } + void SetRawCmdLineArgs(const std::vector& args) { fRawCmdLineArgs = args; } + std::vector GetRawCmdLineArgs() const { return fRawCmdLineArgs; } + protected: std::shared_ptr fTransportFactory; ///< Default transport factory std::unordered_map> fTransports; ///< Container for transports @@ -532,6 +535,7 @@ class FairMQDevice : public FairMQStateMachine const fair::mq::tools::Version fVersion; float fRate; ///< Rate limiting for ConditionalRun size_t fLastTime; ///< Rate limiting for ConditionalRun + std::vector fRawCmdLineArgs; }; #endif /* FAIRMQDEVICE_H_ */