DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T s

⟦6f244623c⟧ TextFile

    Length: 2363 (0x93b)
    Types: TextFile
    Names: »stats.c«

Derivation

└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
    └─⟦f91e15335⟧ »EurOpenD3/news/nntp/nntplink2.0.0.tar.Z« 
        └─⟦2c70c5e6b⟧ 
            └─⟦this⟧ »stats.c« 

TextFile

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