14 #include <sys/times.h>
25 #undef ZYPP_BASE_LOGGER_LOGGROUP
26 #define ZYPP_BASE_LOGGER_LOGGROUP "Measure"
73 std::string
stringIf( clock_t ticks_r,
const std::string & tag_r )
const
84 double asSec( clock_t ticks_r )
const
85 {
return double(ticks_r) /
ticks; }
89 time_t h = sec_r/3600;
94 return str::form(
"%lu:%02lu:%02lu", h, m, sec_r );
96 return str::form(
"%lu:%02lu", m, sec_r );
102 time_t h = time_t(sec_r)/3600;
104 time_t m = time_t(sec_r)/60;
107 return str::form(
"%lu:%02lu:%05.2lf", h, m, sec_r );
109 return str::form(
"%lu:%05.2lf", m, sec_r );
123 const struct tms
Tm::
tmsEmpty = { 0, 0, 0, 0 };
124 const long Tm::ticks = sysconf(_SC_CLK_TCK);
141 Impl(
const std::string & ident_r )
183 return str_r << endl;
211 : _pimpl( new
Impl( ident_r ) )
std::ostream & dumpMeasure(std::ostream &str_r) const
void elapsed() const
Print elapsed time for a running timer.
double asSec(clock_t ticks_r) const
time_t _real
Real time via ::time.
Tm operator-(const Tm &rhs) const
void stop()
Stop a running timer.
RW_pointer< Impl > _pimpl
Pointer to implementation.
void restart()
re start the timer without reset-ing it.
std::string timeStr(double sec_r) const
void start(const std::string &ident_r=std::string())
Start timer for ident_r string.
struct tms _proc
Process times via ::times.
std::string asString() const
Measure()
Default Ctor does nothing.
Impl(const std::string &ident_r)
std::ostream & operator<<(std::ostream &str, const Tm &obj)
Tm Stream output.
Times measured by Measure.
std::string form(const char *format,...)
Printf style construction of std::string.
static std::string _glevel
std::string stringIf(clock_t ticks_r, const std::string &tag_r) const
static const long ticks
Systems ticks per second.
std::string timeStr(time_t sec_r) const