Skip to content

Commit

Permalink
Fix code formatting DQMServices/StreamerIO
Browse files Browse the repository at this point in the history
(cherry picked from commit 2ff8733)
  • Loading branch information
Dmitrijus Bugelskis committed Oct 30, 2015
1 parent a40cc08 commit c9b9afb
Show file tree
Hide file tree
Showing 12 changed files with 697 additions and 747 deletions.
45 changes: 22 additions & 23 deletions DQMServices/StreamerIO/plugins/DQMFileIterator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,16 @@ DQMFileIterator::LumiEntry DQMFileIterator::LumiEntry::load_json(
lumi.filename = filename;

lumi.n_events_processed = std::next(pt.get_child("data").begin(), 0)
->second.get_value<std::size_t>();
->second.get_value<std::size_t>();

lumi.n_events_accepted = std::next(pt.get_child("data").begin(), 1)
->second.get_value<std::size_t>();
->second.get_value<std::size_t>();

lumi.file_ls = lumiNumber;

if (datafn_position >= 0) {
lumi.datafn = std::next(pt.get_child("data").begin(), datafn_position)
->second.get_value<std::string>();
->second.get_value<std::string>();
}

return lumi;
Expand All @@ -60,9 +60,7 @@ DQMFileIterator::EorEntry DQMFileIterator::EorEntry::load_json(
return eor;
}

DQMFileIterator::DQMFileIterator(edm::ParameterSet const& pset)
: state_(EOR) {

DQMFileIterator::DQMFileIterator(edm::ParameterSet const& pset) : state_(EOR) {
runNumber_ = pset.getUntrackedParameter<unsigned int>("runNumber");
datafnPosition_ = pset.getUntrackedParameter<unsigned int>("datafnPosition");
runInputDir_ = pset.getUntrackedParameter<std::string>("runInputDir");
Expand Down Expand Up @@ -98,7 +96,6 @@ void DQMFileIterator::reset() {
doc.put("fi_state", std::to_string(state_));
mon_->outputUpdate(doc);
}

}

DQMFileIterator::State DQMFileIterator::state() { return state_; }
Expand Down Expand Up @@ -154,11 +151,11 @@ void DQMFileIterator::advanceToLumi(unsigned int lumi, std::string reason) {
}

void DQMFileIterator::monUpdateLumi(const LumiEntry& lumi) {
if (! mon_.isAvailable())
return;
if (!mon_.isAvailable()) return;

ptree doc;
doc.put(str(boost::format("extra.lumi_seen.lumi%06d") % lumi.file_ls), lumi.state);
doc.put(str(boost::format("extra.lumi_seen.lumi%06d") % lumi.file_ls),
lumi.state);
mon_->outputUpdate(doc);
}

Expand All @@ -176,7 +173,7 @@ void DQMFileIterator::collect(bool ignoreTimers) {

auto now = std::chrono::high_resolution_clock::now();
auto last_ms = std::chrono::duration_cast<std::chrono::milliseconds>(
now - runPathLastCollect_).count();
now - runPathLastCollect_).count();

// don't refresh if it's too soon
if ((!ignoreTimers) && (last_ms >= 0) && (last_ms < 100)) {
Expand All @@ -186,11 +183,12 @@ void DQMFileIterator::collect(bool ignoreTimers) {
// check if directory changed
std::time_t mtime_now = boost::filesystem::last_write_time(runPath_);

if ((!ignoreTimers) && (last_ms < forceFileCheckTimeoutMillis_) && (mtime_now == runPathMTime_)) {
//logFileAction("Directory hasn't changed.");
if ((!ignoreTimers) && (last_ms < forceFileCheckTimeoutMillis_) &&
(mtime_now == runPathMTime_)) {
// logFileAction("Directory hasn't changed.");
return;
} else {
//logFileAction("Directory changed, updating.");
// logFileAction("Directory changed, updating.");
}

runPathMTime_ = mtime_now;
Expand Down Expand Up @@ -298,7 +296,6 @@ void DQMFileIterator::update_state() {
if ((state_ != State::EOR) && (nextLumiTimeoutMillis_ >= 0)) {
auto iter = lumiSeen_.lower_bound(nextLumiNumber_);
if ((iter != lumiSeen_.end()) && iter->first != nextLumiNumber_) {

auto elapsed = high_resolution_clock::now() - lastLumiLoad_;
auto elapsed_ms = duration_cast<milliseconds>(elapsed).count();

Expand Down Expand Up @@ -345,7 +342,8 @@ void DQMFileIterator::logFileAction(const std::string& msg,
edm::FlushMessageLog();
}

void DQMFileIterator::logLumiState(const LumiEntry& lumi, const std::string& msg) {
void DQMFileIterator::logLumiState(const LumiEntry& lumi,
const std::string& msg) {
if (lumiSeen_.find(lumi.file_ls) != lumiSeen_.end()) {
lumiSeen_[lumi.file_ls].state = msg;

Expand All @@ -356,29 +354,30 @@ void DQMFileIterator::logLumiState(const LumiEntry& lumi, const std::string& msg
}

void DQMFileIterator::delay() {
if (mon_.isAvailable())
mon_->keepAlive();
if (mon_.isAvailable()) mon_->keepAlive();

usleep(delayMillis_ * 1000);
}

void DQMFileIterator::fillDescription(edm::ParameterSetDescription& desc) {

desc.addUntracked<unsigned int>("runNumber")
->setComment("Run number passed via configuration file.");

desc.addUntracked<unsigned int>("datafnPosition", 3)
->setComment("Data filename position in the positional arguments array 'data' in json file.");
->setComment(
"Data filename position in the positional arguments array 'data' in "
"json file.");

desc.addUntracked<std::string>("streamLabel")
->setComment("Stream label used in json discovery.");

desc.addUntracked<uint32_t>("delayMillis")
->setComment("Number of milliseconds to wait between file checks.");

desc.addUntracked<int32_t>("nextLumiTimeoutMillis", -1)->setComment(
"Number of milliseconds to wait before switching to the next lumi "
"section if the current is missing, -1 to disable.");
desc.addUntracked<int32_t>("nextLumiTimeoutMillis", -1)
->setComment(
"Number of milliseconds to wait before switching to the next lumi "
"section if the current is missing, -1 to disable.");

desc.addUntracked<std::string>("runInputDir")
->setComment("Directory where the DQM files will appear.");
Expand Down
2 changes: 1 addition & 1 deletion DQMServices/StreamerIO/plugins/DQMFileIterator.h
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ class DQMFileIterator {
std::chrono::high_resolution_clock::time_point lastLumiLoad_;

void collect(bool ignoreTimers);
void monUpdateLumi(const LumiEntry& lumi);
void monUpdateLumi(const LumiEntry& lumi);

/* this is for monitoring */
edm::Service<DQMMonitoringService> mon_;
Expand Down
26 changes: 10 additions & 16 deletions DQMServices/StreamerIO/plugins/DQMMonitoringService.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
#include <boost/format.hpp>
#include <boost/algorithm/string/predicate.hpp>


#include <ctime>

/*
Expand All @@ -14,7 +13,8 @@

namespace dqmservices {

DQMMonitoringService::DQMMonitoringService(const edm::ParameterSet &pset, edm::ActivityRegistry& ar) {
DQMMonitoringService::DQMMonitoringService(const edm::ParameterSet& pset,
edm::ActivityRegistry& ar) {
const char* x = getenv("DQM2_SOCKET");
if (x) {
std::cerr << "Monitoring pipe: " << x << std::endl;
Expand All @@ -37,13 +37,12 @@ DQMMonitoringService::DQMMonitoringService(const edm::ParameterSet &pset, edm::A
ar.watchPreSourceEvent(this, &DQMMonitoringService::evEvent);
}

DQMMonitoringService::~DQMMonitoringService() {
}
DQMMonitoringService::~DQMMonitoringService() {}

void DQMMonitoringService::outputLumiUpdate() {
using std::chrono::duration_cast;
using std::chrono::milliseconds;

auto now = std::chrono::high_resolution_clock::now();

ptree doc;
Expand Down Expand Up @@ -79,7 +78,6 @@ void DQMMonitoringService::outputLumiUpdate() {
}

outputUpdate(doc);

}

void DQMMonitoringService::evLumi(GlobalContext const& iContext) {
Expand All @@ -92,7 +90,7 @@ void DQMMonitoringService::evLumi(GlobalContext const& iContext) {
lumi_ = iContext.luminosityBlockID().luminosityBlock();

outputLumiUpdate();

last_lumi_time_ = std::chrono::high_resolution_clock::now();
last_lumi_nevents_ = nevents_;
last_lumi_ = lumi_;
Expand All @@ -107,8 +105,7 @@ void DQMMonitoringService::outputUpdate(ptree& doc) {
using std::chrono::duration_cast;
using std::chrono::milliseconds;

if (!mstream_)
return;
if (!mstream_) return;

try {
last_update_time_ = std::chrono::high_resolution_clock::now();
Expand All @@ -122,8 +119,7 @@ void DQMMonitoringService::outputUpdate(ptree& doc) {
}

void DQMMonitoringService::keepAlive() {
if (!mstream_)
return;
if (!mstream_) return;

mstream_ << "\n";
mstream_.flush();
Expand All @@ -135,21 +131,19 @@ void DQMMonitoringService::tryUpdate() {
using std::chrono::duration_cast;
using std::chrono::milliseconds;

if (!mstream_)
return;
if (!mstream_) return;

// sometimes we don't see any transition for a very long time
// but we still want updates
// luckily, keepAlive is called rather often by the input source
auto now = std::chrono::high_resolution_clock::now();
auto millis = duration_cast<milliseconds>(now - last_update_time_).count();
if (millis >= (25*1000)) {
if (millis >= (25 * 1000)) {
outputLumiUpdate();
}
}


} // end-of-namespace
} // end-of-namespace

#include "FWCore/ServiceRegistry/interface/ServiceMaker.h"

Expand Down
48 changes: 25 additions & 23 deletions DQMServices/StreamerIO/plugins/DQMMonitoringService.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,37 +42,39 @@ using edm::StreamContext;
using edm::GlobalContext;

class DQMMonitoringService {
public:
DQMMonitoringService(const edm::ParameterSet &, edm::ActivityRegistry&);
~DQMMonitoringService();
public:
DQMMonitoringService(const edm::ParameterSet&, edm::ActivityRegistry&);
~DQMMonitoringService();

void connect();
void keepAlive();
void connect();
void keepAlive();

void outputLumiUpdate();
void outputUpdate(ptree& doc);
void outputLumiUpdate();
void outputUpdate(ptree& doc);

void evLumi(GlobalContext const&);
void evEvent(StreamID const&);

void tryUpdate();
void evLumi(GlobalContext const&);
void evEvent(StreamID const&);

private:
boost::asio::local::stream_protocol::iostream mstream_;
void tryUpdate();

// global number of events processed
long nevents_;
private:
boost::asio::local::stream_protocol::iostream mstream_;

// time point, number of events and the lumi number at the time we switched to it
unsigned long last_lumi_; // last lumi (we report stats for it, after we switch to the next one)
std::chrono::high_resolution_clock::time_point last_lumi_time_;
std::chrono::high_resolution_clock::time_point last_update_time_;
long last_lumi_nevents_;
// global number of events processed
long nevents_;

unsigned long run_; // current run
unsigned long lumi_; // current lumi
// time point, number of events and the lumi number at the time we switched to
// it
unsigned long last_lumi_; // last lumi (we report stats for it, after we
// switch to the next one)
std::chrono::high_resolution_clock::time_point last_lumi_time_;
std::chrono::high_resolution_clock::time_point last_update_time_;
long last_lumi_nevents_;

unsigned long run_; // current run
unsigned long lumi_; // current lumi
};

} // end-of-namespace
} // end-of-namespace

#endif
Loading

0 comments on commit c9b9afb

Please sign in to comment.