dmxstat.h File Reference

Go to the source code of this file.

Defines

#define DMX_STAT_LENGTH   10
#define DMX_STAT_INTERVAL   1000
#define DMX_STAT_BINS   3
#define DMX_STAT_BIN0   10000
#define DMX_STAT_BINMULT   100

Functions

void dmxStatActivate (const char *interval, const char *displays)
DMXStatInfodmxStatAlloc (void)
void dmxStatFree (DMXStatInfo *)
void dmxStatInit (void)
void dmxStatSync (DMXScreenInfo *dmxScreen, struct timeval *stop, struct timeval *start, unsigned long pending)

Variables

int dmxStatInterval

Detailed Description

Interface for statistic gathering interface.

See also:
dmxstat.c

Define Documentation

#define DMX_STAT_BIN0   10000

us for bin[0]

Referenced by dmxStatSync().

#define DMX_STAT_BINMULT   100

multiplier for next bin[]

Referenced by dmxStatSync().

#define DMX_STAT_BINS   3

number of bins

Referenced by dmxStatCallback(), and dmxStatSync().

#define DMX_STAT_INTERVAL   1000

msec between printouts

Referenced by dmxStatCallback().

#define DMX_STAT_LENGTH   10

number of events for moving average

Referenced by dmxStatValue().


Function Documentation

void dmxStatActivate ( const char *  interval,
const char *  displays 
)

Turn on XSync statistic gathering and printing. Print every interval seconds, with lines for the first displays. If interval is NULL, 1 will be used. If displays is NULL, 0 will be used (meaning a line for every display will be printed). Note that this function takes string arguments because it will usually be called from ddxProcessArgument in dmxinit.c.

References dmxStatDisplays, and dmxStatInterval.

Referenced by ddxProcessArgument().

DMXStatInfo* dmxStatAlloc ( void  )

Allocate a DMXStatInfo structure.

Referenced by dmxConfigAddDisplay().

void dmxStatFree ( DMXStatInfo pt)

Free the memory used by a DMXStatInfo structure.

Referenced by InitOutput().

void dmxStatInit ( void  )

Try to initialize the statistic gathering and printing routines. Initialization only takes place if dmxStatActivate has already been called. We don't need the same generation protection that we used in dmxSyncInit because our timer is always on a queue -- hence, server generation will always free it.

References dmxStatCallback(), dmxStatInterval, and dmxStatTimer.

Referenced by InitOutput().

void dmxStatSync ( DMXScreenInfo dmxScreen,
struct timeval *  stop,
struct timeval *  start,
unsigned long  pending 
)

Note that a XSync() was just done on dmxScreen with the start and stop times (from gettimeofday()) and the number of pending-but-not-yet-processed XSync requests. This routine is called from dmxDoSync in dmxsync.c

References _DMXStatInfo::bins, DMX_STAT_BIN0, DMX_STAT_BINMULT, DMX_STAT_BINS, dmxStatValue(), _DMXStatInfo::pending, _DMXScreenInfo::stat, _DMXStatInfo::syncCount, _DMXStatInfo::usec, and usec().

Referenced by dmxDoSync().


Variable Documentation