14 #include "boost/tokenizer.hpp" 17 #include <sys/types.h> 25 : actionId_(
pset.getUntrackedParameter<
int>(
"defaultAction", -1)),
26 intqualifier_(
pset.getUntrackedParameter<
int>(
"defaultQualifier", 0)),
27 qualifier2_(
pset.getUntrackedParameter<double>(
"secondQualifier", 1)),
28 actionRequired_(actionId_ != -1) {
34 timingHisto_ =
new TH1D(
"timingHisto_",
"Total time for all modules per event", 100, 0, 1000);
144 unsigned int iterations = 0;
145 if (actionRequired_) {
151 ::usleep(intqualifier_ * 1000);
157 throw cms::Exception(qualifier_) <<
"This exception was generated by the ExceptionGenerator";
185 for (
unsigned int j = 0;
j < intqualifier_ * 1000 * 100;
j++) {
190 iterations = 100 *
static_cast<unsigned int>(timingHisto_->GetRandom() * intqualifier_ * 17. + 0.5);
191 for (
unsigned int j = 0;
j < iterations;
j++) {
196 iterations =
static_cast<unsigned int>(timingHisto_->GetRandom() * intqualifier_ * 12. + 0.5);
197 TRandom3 random(iterations);
198 const size_t dataSize = 32 * 500;
199 std::vector<double>
data(dataSize);
200 random.RndmArray(dataSize, &
data[0]);
202 for (
unsigned int j = 0;
j < iterations;
j++) {
203 const size_t index =
static_cast<size_t>(random.Rndm() * dataSize + 0.5);
206 if (random.Rndm() < 0.1)
212 gettimeofday(&tv_now,
nullptr);
213 if ((
unsigned)(tv_now.tv_sec - tv_start_.tv_sec) > intqualifier_) {
220 #pragma GCC diagnostic push 221 #pragma GCC diagnostic ignored "-Wstringop-overflow" 222 memset((
char *)vp - 32 + intqualifier_, 0, 1024);
223 #pragma GCC diagnostic pop 229 float off = intqualifier_ * (1. - qualifier2_);
231 iterations =
static_cast<unsigned int>(
max(1., off + timingHisto_->GetRandom() *
scale));
233 ::usleep(iterations * 1000);
238 float off = intqualifier_ * (1. - qualifier2_);
240 iterations =
static_cast<unsigned int>(
max(1., off + timingHisto_->GetRandom() *
scale));
241 iterations *= 100000;
242 for (
unsigned int j = 0;
j < iterations;
j++) {
247 throw cms::Exception(
"FastMonitoringService") <<
"Random exception!";
Log< level::Error, false > LogError
example_stream void analyze(const edm::Event &, const edm::EventSetup &) override
void beginRun(const edm::Run &r, const edm::EventSetup &iSetup) override
void free(void *ptr) noexcept
void __attribute__((optimize("O0"))) ExceptionGenerator
void * malloc(size_t size) noexcept
char data[epos_bytes_allocation]