|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T s
Length: 2363 (0x93b) Types: TextFile Names: »stats.c«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit └─⟦f91e15335⟧ »EurOpenD3/news/nntp/nntplink2.0.0.tar.Z« └─⟦2c70c5e6b⟧ └─⟦this⟧ »stats.c«
#include "global.h" /* ** Calculate how much time we've used, ** and report that (and the transfer statistics). ** */ void logstats() { char buf[BUFSIZ]; #ifdef USELOG #ifdef BSD4_2 extern time_t time(); #endif BSD4_2 time_t tstamp; char *tp; extern char *ctime(); #endif USELOG #ifdef BSD4_2 struct rusage self, kids; struct timeval tod; struct timezone tzdummy; (void) getrusage(RUSAGE_SELF, &self); (void) getrusage(RUSAGE_CHILDREN, &kids); (void) gettimeofday(&tod, &tzdummy); Tend = tod.tv_sec + (double)tod.tv_usec/1000000.; user = self.ru_utime.tv_sec + kids.ru_utime.tv_sec + (double) self.ru_utime.tv_usec/1000000. + (double) kids.ru_utime.tv_usec/1000000.; sys = self.ru_stime.tv_sec + kids.ru_stime.tv_sec + (double) self.ru_stime.tv_usec/1000000. + (double) kids.ru_stime.tv_usec/1000000.; #else #define HZ 60.0 /* typical system clock ticks - param.h */ struct tms cpu; (void) times(&cpu); Tend = (double) time((time_t *)NULL); user = (double)(cpu.tms_utime + cpu.tms_cutime) / HZ; sys = (double)(cpu.tms_stime + cpu.tms_cstime) / HZ; #endif BSD4_2 sprintf(buf, "%s stats %lu offered %lu accepted %lu rejected %lu failed", Host, Stats.offered, Stats.accepted, Stats.rejected, Stats.failed); log(L_INFO, buf); #ifdef USELOG if (Logfp != (FILE *)NULL) { char * loc; (void) time(&tstamp); tp = (ctime(&tstamp))+4; /* skip day of the week */ *(loc = tp + 16) = '\0'; /* get rid of year */ fprintf(Logfp, Fmt, tp, Pname, getpid(), buf); } #endif USELOG sprintf(buf, "%s xmit user %.1f system %.1f elapsed %.1f", Host, (user - ouser), (sys - osys), (Tend - Tbegin)); log(L_INFO, buf); sprintf(buf, "%s xfer offer/min %2.2f accept/min %2.2f", Host, Stats.offered/((Tend - Tbegin)/60), Stats.accepted/((Tend - Tbegin)/60)); log(L_INFO, buf); #ifdef USELOG if (Logfp != (FILE *)NULL) { fprintf(Logfp, Fmt, tp, Pname, getpid(), buf); (void) fflush(Logfp); } #endif USELOG if (In_Log_File) { char temp[MAXFNAME]; FILE *Linkfp; dprintf(stderr, "Logging old_logline\n"); sprintf(temp, "%s.link", orig_Qfile); Linkfp = fopen(temp, "w"); fprintf(Linkfp, "%s\n", old_logline); FCLOSE(Linkfp); } resetstats = TRUE; /* reset reference point at next sendnews */ }