![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
37 #ifndef SEMIDETHELPER_H
38 #define SEMIDETHELPER_H
45 #include "boost/io/ios_state.hpp"
62 void startAud(
const std::string& stepName,
const std::string&
compName,
64 void stopAud(
const std::string& stepName,
const std::string&
compName,
67 const std::string& info_full_output_inside,
68 bool stdout_uncollapsed);
76 void reportToStdout(
const std::string& info_full_output_inside,
bool showall);
77 bool reportToFile(
const std::string&
file,
78 const std::string& info_full_output_inside);
81 void startAudStd(
const std::string&
compName,
int stepidx);
82 void stopAudStd(
const std::string&
compName,
int stepidx,
unsigned val_nevts);
83 void startAudOther(
const std::string&
compName,
const std::string& stepName);
84 void stopAudOther(
const std::string&
compName,
const std::string& stepName);
118 #define DEBUG_SemiDetHelper 0
119 #if DEBUG_SemiDetHelper
121 CompDataBasic m_debug_data;
122 mutable unsigned m_debug_nfinds;
123 mutable unsigned m_debug_ninserts;
126 void specialAud(
int stepidx,
unsigned val_nevts);
134 if (cached_iterator==
m.end()||(*cached_iterator).first!=
key) {
135 cached_iterator=
m.find(
key);
136 #if DEBUG_SemiDetHelper
139 if (cached_iterator==
m.end()) {
140 std::pair<typename Tmap::iterator,bool>
r
141 =
m.insert(std::pair<typename Tmap::key_type,typename Tmap::mapped_type>(
key,
typename Tmap::mapped_type()));
143 cached_iterator=
r.first;
144 #if DEBUG_SemiDetHelper
149 return (*cached_iterator).second;
159 void actualReport(std::ostream&,
bool showall,
const std::string& info_full_output_inside);
160 void format(std::ostream&
os,
const std::string& stepName,
const std::string&
compName,
162 void format(std::ostream&,
const std::string&
str,
bool center=
true)
const;
163 void format(std::ostream&,
const std::string& stepName,
const std::string& infoName,
const Meas&)
const;
164 void format(std::ostream&,
const std::string& stepName,
const std::string& infoName,
166 void processStep(std::ostream&
os,
StepWrapper*,
bool showall)
const;
173 boost::io::ios_base_all_saver ssave (
os);
174 os << (leftjustify?std::left:std::right) << std::setw(
width) <<
val;
182 field_i(
os,
width,int64_t(
val+0.5),leftjustify);
184 void spaces(std::ostream&
os,
unsigned n)
const {
os << std::setw(
n) <<
""; }
187 void checkForMallocSlowness(
int stepidx);
JetConstituentVector::iterator iterator
unsigned m_overhead_cpu_n
double get_malloc_kb ATLAS_NOT_THREAD_SAFE()
double m_overhead_cpu_snapshot_post_1stevt
PerfMon::LinFitSglPass m_fit_101plus_vmem
std::map< OtherKey, CompDataBasic, FastStrCmp > MapOtherSteps
void field_i(std::ostream &os, unsigned width, int64_t val, bool leftjustify=false) const
double m_vmem_sum_evtloop
const std::string m_prefix
void spaces(std::ostream &os, unsigned n) const
std::pair< std::string, std::string > OtherKey
Tmap::mapped_type & mapLookup(const typename Tmap::key_type &key, Tmap &m, typename Tmap::iterator &cached_iterator) const
double m_overhead_cpu_snapshot_post_lastevt
void field_f(std::ostream &os, unsigned width, double val, bool leftjustify=false) const
const std::string m_stepprefix
MapOtherSteps m_data_other
const std::string m_specialstep
const std::string m_malloclibname
MapStdSteps::iterator m_data_std_lastlookup
double m_overhead_cpu_total
SemiDetHelper(const SemiDetHelper &)
std::string m_malloc_status
PerfMon::LinFitSglPass m_fit_101plus_malloc
std::map< std::string, CompDataStdSteps, FastStrCmp > MapStdSteps
PerfMon::LinFitSglPass m_fit_11to100_vmem
Define macros for attributes used to control the static checker.
MapOtherSteps::iterator m_data_other_lastlookup
bool m_malloc_might_get_slow
PerfMon::LinFitSglPass m_fit_11to100_malloc
double m_overhead_cpu_tmp