Product Documentation

FairCom ISAM for C

Previous Topic

Next Topic

System Snapshot Structure

System snapshots may include an optional function-timing array of ctWRKSTT structures as described in the Function Timing section below.

/* system snapshot versions */

enum systemSnapshotVersion {

ctGSMS_VERSION_FILEOPS = 21, /* minimum snapshot version that includes

fileops fields */

ctGSMS_VERSION_CTREPFLSBG = 22, /* minimum snapshot version that includes

replication log flush by background thread */

ctGSMS_VERSION_COMPFLG5 = 23 /* minimum snapshot version that includes

5th compatibility flag */

};

#define ctGSMSvern ctGSMS_VERSION_COMPFLG5 /* ctGSMS (system snapshot) version # */

typedef struct ctgsms {

ULONG client_ver; /* client version of structure */

ULONG server_ver; /* server version of structure */

ULONG fixlen; /* length of fixed portion of snapshot */

ULONG varlen; /* length of variable region (if any) */

ULONG contents; /* bit map of var len contents */

ULONG logsets; /* number of multiple log sets */

LONG8 snapshottm; /* snapshot time stamp: seconds since 70 */

LONG8 sctdnd_red; /* delete node thread queue reads */

LONG8 sctdnd_wrt; /* delete node thread queue writes */

LONG8 sctdnd_rwt; /* delete node thread queue rewrites */

LONG8 sctdnd_abn; /* delete node thread queue abandons */

LONG8 sctdnd_rmv; /* delete node thread queue removals (no longer used) */

LONG8 sctdnd_non; /* delete node thread queue no action */

LONG8 sctloktry; /* count of lock attempts */

LONG8 sctlokhlk; /* subcount of hdr lock attempts */

LONG8 sctlokdny; /* count of locks denied */

LONG8 sctlokblk; /* count of locks blocked */

LONG8 sctlokhbk; /* subcount of header blocks */

LONG8 sctlokdlk; /* count of dead locks */

LONG8 sctlokfre; /* count of locks freed */

LONG8 sctlokrel; /* count of blocks released */

LONG8 sctlokcur; /* current count of locks held */

LONG8 sctblkcur; /* current count of blocked requests */

LONG8 scttrntim; /* cumulative transaction time^ */

LONG8 scttrncnt; /* cumulative transaction count */

LONG8 scttrnmax; /* maximum elapsed tran time^ */

ULONG sct_compflg3; /* 3rd compatibility word */

LONG sctrqtmonint; /* request time monitor interval */

LONG8 scttot_call; /* system-wide c-tree calls */

LONG8 scttot_recv; /* system-wide time waiting for request^ */

LONG8 scttot_work; /* system-wide time performing requests^ */

LONG8 scttot_send; /* system-wide time to send request^ */

LONG8 sctmemhgh; /* system memory highwater mark */

LONG8 sctmemsum; /* current aggregate sum */

#ifdef ctFeatATOMICop64

volatile

AULONG8 sct_dbrqs; /* data buffer requests */

volatile

AULONG8 sct_dbhit; /* data buffer hits */

#else

LONG8 sct_dbrqs; /* data buffer requests */

LONG8 sct_dbhit; /* data buffer hits */

#endif

#ifdef ctFeatATOMICop64

volatile

AULONG8 sct_ibrqs; /* index buffer requests */

volatile

AULONG8 sct_ibhit; /* index buffer hits */

#else

LONG8 sct_ibrqs; /* index buffer requests */

LONG8 sct_ibhit; /* index buffer hits */

#endif

LONG8 sct_rdops; /* number of read operations */

LONG8 sct_rdbyt; /* bytes read */

LONG8 sct_wrops; /* number of write operations */

LONG8 sct_wrbyt; /* bytes written */

LONG8 sct_rcops; /* number of comm read operations */

LONG8 sct_rcbyt; /* comm bytes read */

LONG8 sct_wcops; /* number of comm write operations */

LONG8 sct_wcbyt; /* comm bytes written */

LONG8 sctwlgops; /* number of log write operations */

LONG8 sctwlgbyt; /* bytes written to log file */

LONG8 sctrlgops; /* number of log read operations */

LONG8 sctrlgbyt; /* bytes read from log file */

LONG8 sctxlgops; /* number of log extension operations */

LONG8 sctxlgbyt; /* log file extension bytes */

LONG8 sct_trbeg; /* # transaction begins */

LONG8 sct_trend; /* # transaction ends */

LONG8 sct_trabt; /* # transaction aborts */

LONG8 sct_trsav; /* # transaction savepoints */

LONG8 sct_trrst; /* # transaction restores */

LONG8 sct_trfls; /* # transaction log flush writes */

LONG8 sctsync_dosfls; /* DOSFLUSH sync calls */

LONG8 sctsync_logfil; /* transaction log sync calls */

LONG8 sctsync_regfil; /* c-tree file sync calls */

LONG8 scthrtimbas; /* high res timer ticks per sec^ */

LONG8 sctchkpnttim; /* cumulative checkpoint time^ */

LONG8 sctchkpntsiz; /* cumulative checkpoint size */

LONG8 sctchkpnt[ctCHKPdetail];

/* intermediate checkpoint times^ */

LONG8 sctcmtdlytry; /* cmtdly eligible count */

LONG8 sctcmtdlycnt; /* cmtdly concurrent trans exist */

LONG8 sctcmtdlycoh; /* cmtdly cohorts exist (success) */

LONG8 sctcmtcohmax; /* cmtdly max cohort count */

LONG8 sctcmtdlyclr; /* cmtdly cohort appeared (success) */

LONG8 sctcmtlopclr; /* cmtdly appeared loop count */

LONG8 sctcmtdlynot; /* cmtdly direct flush count */

LONG8 sctcmtlopfls; /* cmtdly log flush loop count */

LONG8 sctcmtdlydfr; /* cmtdly loop defer count */

ULONG sctcmtlopmax; /* max loop defer count */

ULONG sctcmtmaxadp; /* max adaptive LFW loop counter */

LONG8 sctcmtavgadp; /* avg adaptive LFW loop counter */

LONG8 sctcmtlopfls2; /* cmtdly log flush2 loop count */

LONG8 stimchk[8]; /* diagnostic time ct_udefer check */

LONG8 selapwrktim; /* elapsed time func timings turned on */

LONG8 selapsrvtim; /* elapsed server operation time */

LONG8 sctcmtblktim; /* accum commit delay block time (requested) */

LONG8 sctcmtclrtim; /* accum commit delay clear time (requested) */

LONG8 stimchktarget; /* ct_udefer expected result */

LONG8 stimchkconsec; /* time between consecutive hrt in usec */

LONG8 stimchkavg; /* avg time ofr hrtimer call in usec */

LONG8 sctcmtdlyfls; /* cmtdly log flushed anyway (success) */

LONG8 sctcmtfls; /* commit/abort tran log flush rqst */

LONG8 sctbegfls; /* begin tran log flush rqst */

LONG8 sctidxfls; /* LOGIDX tran log flush rqst */

LONG8 sctupdfls; /* file 1st upd tran log flush rqst */

LONG8 sctcmtavgdfr; /* accum commit delay block time (actual) */

LONG8 sctcmtmaxdfr; /* max commit delay block time */

LONG8 sctcmtdlyfls2; /* dmtdly log flushed anyway2 (success) */

LONG8 scttrnbox; /* width of cttrndet boxes^ */

LONG8 sctlogfls; /* log flush count */

LONG8 sctlogtim; /* log flush time */

#ifdef ctdbMEMSUM

LONG8 sctSQLmemsum; /* current aggregate sum for SQL */

LONG8 sctDBmemsum; /* current aggregate sum for CTDB-STUB */

#else

LONG8 available81[2]; /* available for future use */

#endif

LONG8 sctredcmtlpc; /* RED_CMTLOK loop count */

LONG8 sctrepfls; /* replication log flush rqst */

LONG8 sctchkbufwrt; /* checkpoint index buffer writes */

LONG8 sctchkchewrt; /* checkpoint data cache writes */

ULONG scttrndet[ctTRNTdetail];

/* tran time detail */

LONG sctactfil; /* # open physical files */

LONG scttotfil; /* # open logical files */

LONG scttotblk; /* # c-tree FCBs in use */

LONG sctactfilx; /* max physical files opened */

LONG scttotfilx; /* max logical files opened */

LONG scttotblkx; /* max c-tree FCBs in use */

LONG sctnusers; /* number of users */

LONG sctnusersx; /* max number of users */

#ifdef ctFeatATOMICop64

volatile

AULONG sctloknm; /* net locks over unlocks */

volatile

AULONG sctloknmx; /* max net locks over unlocks */

#else

LONG sctloknm; /* net locks over unlocks */

LONG sctloknmx; /* max net locks over unlocks */

#endif

ULONG sct_mxbuf; /* number of index buffer pages */

ULONG sctbufcnt; /* index buffer pages in use */

ULONG sctbufhgh; /* max index buffers in use */

ULONG sct_dxbuf; /* available data cache pages */

ULONG sctdatcnt; /* data cache pages in use */

ULONG sctdathgh; /* max data cache pages in use */

ULONG scmtblkseq; /* not flow through cmtdly block */

ULONG sct_compflg; /* compatibility flag */

ULONG sct_compflg2; /* 2nd compatibility word */

ULONG sct_diagflg; /* diagnostic flag */

ULONG sct_diagflg2; /* 2nd diagnostic flag */

LONG sct_cmtdly; /* commit delay */

LONG sct_chkdly; /* checkpoint tranac_cnt delay */

ULONG sct_cmtscl; /* cmtdlytim block to clear ratio */

ULONG sct_cmtbas; /* cmtdlytim cohort size measure */

ULONG stimchkusec; /* ct_udefer test interval in usec's */

ULONG stimchkiter; /* ct_udefer test iterations */

ULONG sct_udefer_thld;/* ct_udefer usec threshold */

ULONG sct_udefer_64yd;/* sleep duration for 64 yields (usec) */

ULONG sctITIMretry; /* ITIM_ERR auto retry count */

ULONG sctTPNDretry; /* TPND_ERR auto retry count */

ULONG sctITIMlimit; /* ITIM_ERR auto retry limit */

ULONG sctITIMfailed; /* ITIM_ERR auto retry failed */

ULONG sctredcmtdfr; /* RED_CMTLOK loop defer time millisecs */

ULONG sctredcmtlpr; /* RED_CMTLOK loopers */

ULONG sctITIMdefer; /* ITIM_ERR auto retry defer */

LONG8 sctismaddcnt; /* ISAM record add count */

LONG8 sctismdelcnt; /* ISAM record delete count */

ULONG sct_dxspllmt; /* avail data file special cache pages */

ULONG sct_dxsplcnt; /* actual data file special cache pages */

ULONG sct_dxsplhgh; /* maximum data file special cache pages */

ULONG sctcpcnt; /* check point count */

LONG sct_numvfil; /* number of virtual files open */

LONG sct_avlfil; /* # available file control blocks */

#ifdef ctFeatATOMICop

volatile

AULONG sctactusr; /* number of threads active in foregrnd */

#else

LONG sctactusr; /* number of threads active in foregrnd */

#endif

LONG sct_nutcnt; /* # of index buffers on upd list (tran) */

LONG sct_nupcnt; /* # of index buffers on upd list */

LONG sct_dutcnt; /* # of data caches on upd list (tran) */

LONG sct_dupcnt; /* # of data caches on upd list */

LONG sctwatshtdwn; /* wait on shut down in seconds */

LONG8 sct_wrtcmp; /* calls to ctwrtlog */

LONG8 sct_no_cmp; /* ctwrtlog below compression threshold */

LONG8 sct_tp_cmp; /* trantyp not compressed (DIFIMAGE) */

LONG8 sct_rj_cmp; /* ctwrtlg compression not effective */

LONG8 sct_bytcmp; /* total bytes saved by log compression */

LONG sctlogcmpfloor; /* no log compression below this size */

LONG sctlogcmpfactor;/* out-size must not > this % of in-size */

COUNT sct_mxfil; /* total number of c-tree FCBs */

COUNT sct_ndsec; /* # of sectors per node */

UTEXT sflvr; /* server byte order */

UTEXT salgn; /* server alignment */

UTEXT spntr; /* server pointer size */

UTEXT maxdhashcoll; /* max data cache hash collisions */

LONG8 sctlokkil; /* count of killed locks */

LONG8 sctismupdcnt; /* ISAM record update count */

LONG8 sctismredcnt; /* ISAM record read count */

LONG8 sctloktim; /* cumulative lock wait time^ */

LONG8 sctlokcnt; /* cumulative lock wait count */

LONG8 sctlokmax; /* maximum elapsed lock wait time^ */

LONG8 sctlokbox; /* width of detail boxes^ */

ULONG sctlokdet[ctLOCKdetail];

/* lock block time details */

LONG8 sctxlktim; /* cumulative idx lock wait time^ */

LONG8 sctxlkcnt; /* cumulative idx lock wait count */

LONG8 sctxlkmax; /* maximum elapsed idx lock wait time^ */

LONG8 sctxlkbox; /* width of detail boxes^ */

ULONG sctxlkdet[ctXLOKdetail];

/* idx lock block time details */

TEXT description[128];/* optional text description */

#ifdef ctFeatATOMICop

volatile

AULONG sctcurusr; /* threads in use total (ctaddwork) */

volatile

AULONG sctmaxusr; /* max threads in use (ctaddwork) */

#else

LONG sctcurusr; /* threads in use total (ctaddwork) */

LONG sctmaxusr; /* max threads in use (ctaddwork) */

#endif

ULONG scti_svvr; /* server internal version number */

ULONG sctioblkretry; /* I/O error auto retry count */

ULONG sct_compflg4; /* 4th compatibility word */

ULONG sct_dxscan; /* avail scan cache pages */

ULONG sct_dxscancnt; /* actual scan cache pages */

ULONG sct_dxscanhgh; /* maximum scan cache pages */

ULONG sct_hbTbuf; /* index hash bin Threshold */

ULONG sct_hbRbuf; /* index hash bin Reset limit */

ULONG sct_hbTcac; /* data hash bin Threshold */

ULONG sct_hbRcac; /* data hash bin Reset limit */

ULONG sct_diagflg3; /* 3rd diagnostic flag */

ULONG sctmldmsec; /* DELAYED_DURABILITY (in msecs) */

LONG sarplogint; /* auto restore point log interval */

LONG sarptimout; /* auto restore point tran timeout */

#ifdef ctFeatATOMICop64

volatile

AULONG8 sctdatflschk; /* data cache tran log checks */

#else

LONG8 sctdatflschk; /* data cache tran log checks */

#endif

LONG8 sctdatfls; /* data cache tran log flush rqst */

LONG8 sctmldfls; /* MAX LOG DEFER log flush rqst */

LONG sarpoptions; /* auto restore point options */

LONG sarplastlog; /* auto restore point last log written */

LONG8 sphyopncnt; /* number of physical file opens */

LONG8 sphyclscnt; /* number of physical file closes */

BGFLSS bgflss[2]; /* background flush state vars */

LONG8 slogopncnt; /* number of logical file opens */

LONG8 slogclscnt; /* number of logical file closes */

LONG8 sfilcrecnt; /* number of file creates */

LONG8 sfilrencnt; /* number of file renames */

LONG8 sfildelcnt; /* number of file deletes */

LONG8 sctrepflsbg; /* replication log flush by background thread */

LONG8 savail83[2]; /* available for use */

LONG sct_mxfil32; /* total number of c-tree FCBs */

ULONG sct_compflg5; /* 5th compatibility word */

LONG savail4[6]; /* available for use */

} ctGSMS, ctMEM * pctGSMS;

Be sure to update snapshot file parsing utility, ctsnpr, to a version that supports the correct SNAPSHOT.FCS file format.

TOCIndex