double thruputpersec(const double n, struct timeval *t) { double tv; tv = timevaldouble(t); if (tv != 0) return n / timevaldouble(t); else return 0; }
void variancetime(struct timeval *SumTime, double SumSquareTime, int NumTimes, struct timeval *VarianceTime) { double result; result = variance(timevaldouble(SumTime), SumSquareTime, NumTimes); doubletimeval(result, VarianceTime); }
void avgtime(struct timeval *TotalTime, int NumTimes, struct timeval *AvgTime) { double meantime; meantime = mean(timevaldouble(TotalTime), NumTimes); doubletimeval(meantime, AvgTime); }
void stddevtime(struct timeval *SumTime, double SumSquareTime, int NumTimes, struct timeval *StdDevTime) { double result; result = stddev(timevaldouble(SumTime), SumSquareTime, NumTimes); doubletimeval(result, StdDevTime); }
void sqtime(struct timeval *Time, struct timeval *SqTime) { double sec; sec = timevaldouble(Time); sec *= sec; /* square */ doubletimeval(sec, SqTime); }
void rqstat_times(rqst_stats_t *rs, rqst_timer_t *rt) { double t; compdifftime(&(rt->exittime), &(rt->entertime), &(rs->totalresponsetime)); t = timevaldouble(&(rs->totalresponsetime)); rs->totalresponsetimesq = t * t; rs->minresponsetime = rs->totalresponsetime; rs->maxresponsetime = rs->totalresponsetime; compdifftime(&(rt->afterconnect), &(rt->beforeconnect), &(rs->totalconnecttime)); t = timevaldouble(&(rs->totalconnecttime)); rs->totalconnecttimesq = t * t; rs->minconnecttime = rs->totalconnecttime; rs->maxconnecttime = rs->totalconnecttime; rs->totalbody = rt->bodybytes; rs->totalbodysq = ((double)(rt->bodybytes)) * ((double)(rt->bodybytes)); rs->minbody = rt->bodybytes; rs->maxbody = rt->bodybytes; rs->totalbytes = rt->totalbytes; rs->totalbytessq = ((double)(rt->totalbytes)) * ((double)(rt->totalbytes)); rs->minbytes = rt->totalbytes; rs->maxbytes = rt->totalbytes; rs->totalconnects = 1; rs->totalerrs = 0; rs->totalerrortime.tv_sec = 0; rs->totalerrortime.tv_usec = 0; }