|
|
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 */
}