GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> QLCM / dev > qstats_dump / rhel5-64


Interface   Data Structures   File List   Data Fields   Globals  

QSTATS_lcbShow.c File Reference

Print routines for QSTATS LCB packets. More...

#include <stdio.h>
#include <stdlib.h>
#include <QLCM/QSTATS.h>
#include <QLCM/QLCBD_stats.h>
#include <QSTATS_prvdefs.h>

Functions

static void putSeparator (int type)
 Puts a separator line out.
static void putRow (const char t0, const char *title, const unsigned int *cnts, int stride)
 Internal routine to format one row of the QLCBD_evt_stats display.
static __inline void putEvtProtoTitle (void)
 Internal routine to output the title line for the event protocol statitics.
static void putEvtProtoRow (const char *title, unsigned int rcnts, unsigned long long int rwrds, unsigned int fcnts, unsigned int fcall, unsigned long long int fwrds)
 Internal routine to format one row of the QLCBD_stats_evt_proto display.
static __inline void putEvtHandler (const QLCBD_stats_evt *evt)
 Outputs the LCBD_stats_evt that are accumulated in the event handler.
static __inline void putEvtTickle (const QLCBD_stats_evt_tickle *tickle)
 Outputs the LCBD_evt_tickle statistics.
static __inline void putEvtProto (const QLCBD_stats_evt_proto *proto)
 Outputs that portion of the event statistics that is by protocol.
void QSTATS_lcb_tim_show (const QLCBD_stats_tim *tim)
 Shows (prints to standard output) the collection time data.
void QSTATS_lcb_isr_show (const QLCBD_stats_isr *isr)
 Shows (prints to the terminal) a display of the statistics gathered in the LCBD ISR routine.
void QSTATS_lcb_rst_show (const QLCBD_stats_rst *rst)
 Shows (prints to the terminal) a display of the statistics gathered in the LCBD RESULTs handler routine.
void QSTATS_lcb_evt_show (const QLCBD_stats_evt *evt)
 Shows (prints to the terminal) a display of the statistics gathered in the LCBD EVENTs handler routine.
void QSTATS_lcb_show (const QLCBD_stats *stats)
 Shows (prints at the terminal) all three statistics blocks.


Detailed Description

Print routines for QSTATS LCB packets.

Author:
Ed Bacho -- ebacho@slac.stanford.edu This package provides the print routines for LCB STat data.

Function Documentation

static __inline void putEvtProto ( const QLCBD_stats_evt_proto proto  )  [static]

Outputs that portion of the event statistics that is by protocol.

Parameters:
proto The event statistics by protocol to output

References _QLCBD_stats_evt_proto_xct::cnts, _QLCBD_stats_evt_proto::fre, _QLCBD_stats_evt_proto_xct::nwrds, putEvtProtoRow(), putEvtProtoTitle(), putSeparator(), QLCBD_EVT_PROTO_CNT, and _QLCBD_stats_evt_proto::rcv.

Referenced by QSTATS_lcb_evt_show().

static void putEvtProtoRow ( const char *  title,
unsigned int  rcnts,
unsigned long long int  rwrds,
unsigned int  fcall,
unsigned int  fcnts,
unsigned long long int  fwrds 
) [static]

Internal routine to format one row of the QLCBD_stats_evt_proto display.

Parameters:
title The title line
rcnts The number of packets received
rwrds The number of 32-bit words received
fcall The number of calls to LCBD_evt_free
fcnts The number of packets actually freed
fwrds The number of 32-bit words freed

Referenced by putEvtProto().

static __inline void putEvtTickle ( const QLCBD_stats_evt_tickle tickle  )  [static]

Outputs the LCBD_evt_tickle statistics.

Parameters:
tickle The LCBD_evt_tickle statisttics to output

References _QLCBD_stats_evt_tickle::cnts, QLCBD_STATS_EVT_TICKLE_K_BUSY, QLCBD_STATS_EVT_TICKLE_K_EMPTY, QLCBD_STATS_EVT_TICKLE_K_POSTED, and QLCBD_STATS_EVT_TICKLE_K_RSVD.

Referenced by QSTATS_lcb_evt_show().

static void putRow ( const char  t0,
const char *  title,
const unsigned int *  cnts,
int  stride 
) [static]

Internal routine to format one row of the QLCBD_evt_stats display.

Parameters:
t0 Leading legend character
title The title of this row
cnts The array of 4 counts to output
stride The number of elements between each cnt

Referenced by putEvtHandler().

static void putSeparator ( int  type  )  [static]

Puts a separator line out.

Parameters:
type The type of separator

Referenced by putEvtHandler(), and putEvtProto().

void QSTATS_lcb_evt_show ( const QLCBD_stats_evt evt  ) 

Shows (prints to the terminal) a display of the statistics gathered in the LCBD EVENTs handler routine.

See also:
LCBD_stats_evt
Parameters:
evt The event statistics

References _QLCBD_stats_evt::proto, putEvtHandler(), putEvtProto(), putEvtTickle(), and _QLCBD_stats_evt::tickle.

Referenced by QSTATS_lcb_show().

void QSTATS_lcb_isr_show ( const QLCBD_stats_isr isr  ) 

Shows (prints to the terminal) a display of the statistics gathered in the LCBD ISR routine.

See also:
LCBD_stats_isr
Parameters:
isr The driver statistics block

References _QLCBD_stats_isr::err, _QLCBD_stats_isr::evt, and _QLCBD_stats_isr::srcs.

Referenced by QSTATS_lcb_show().

void QSTATS_lcb_rst_show ( const QLCBD_stats_rst rst  ) 

Shows (prints to the terminal) a display of the statistics gathered in the LCBD RESULTs handler routine.

See also:
LCBD_stats_rst
Parameters:
rst The results statistics block

References _QLCBD_stats_rst::cnts, _QLCBD_stats_rst::null, QLCBD_SEQ_EMPTY, QLCBD_SEQ_ORDER, QLCBD_SEQ_SUCCESS, QLCBD_SEQ_UNKNOWN, QLCBD_STATS_RST_TX_DELETED, QLCBD_STATS_RST_TX_PENDED, QLCBD_STATS_RST_TX_POSTED, QLCBD_STATS_RST_TX_REMOVED, _QLCBD_stats_rst::rx, _QLCBD_stats_rst::seq, and _QLCBD_stats_rst::tx.

Referenced by QSTATS_lcb_show().

void QSTATS_lcb_show ( const QLCBD_stats stats  ) 

Shows (prints at the terminal) all three statistics blocks.

Parameters:
stats The statistics block to display

References _QLCBD_stats::evt, _QLCBD_stats::isr, QSTATS_lcb_evt_show(), QSTATS_lcb_isr_show(), QSTATS_lcb_rst_show(), QSTATS_lcb_tim_show(), _QLCBD_stats::rst, and _QLCBD_stats::tim.

Referenced by QSTATS_lcbPrint().

void QSTATS_lcb_tim_show ( const QLCBD_stats_tim tim  ) 

Shows (prints to standard output) the collection time data.

Parameters:
tim The collection time structure to display

References _QLCBD_stats_tim::beg, and _QLCBD_stats_tim::end.

Referenced by QSTATS_lcb_show().


Generated on Thu Mar 31 15:03:45 2011 by  doxygen 1.5.8