73 lines
2.1 KiB
C++
73 lines
2.1 KiB
C++
#ifndef _INTER_H
|
|
#define _INTER_H
|
|
#include "sysstat.h"
|
|
#include "strall.h"
|
|
enum typegrp {COM,RCOM,SYN,VAR,OVERLAP,CALL};
|
|
enum typetimeim {CALLSMT,LOSTMT,PRODMT};
|
|
enum typetime {LOST,INSUFUSR,INSUF,IDLE,SUMCOM,SUMRCOM,SUMSYN,SUMVAR,SUMOVERLAP,IMB,
|
|
EXEC,CPUUSR,CPU,IOTIME,START,PROC,ITER};
|
|
enum typecom {IO,RD,SH,RA,RED};//5 collective operation. new operation insert before RED
|
|
//if insert new time don't forget insert text in the statread.h
|
|
//don't insert new time between SUMCOM...SUMOVERLAP
|
|
typedef struct tident {
|
|
double nenter;
|
|
unsigned long nline,nline_end,proc;
|
|
long expr;
|
|
short nlev;
|
|
typefrag t;
|
|
char *pname;
|
|
}ident;
|
|
typedef struct { double SendCallTime;
|
|
double MinSendCallTime;
|
|
double MaxSendCallTime;
|
|
long SendCallCount;
|
|
double RecvCallTime;
|
|
double MinRecvCallTime;
|
|
double MaxRecvCallTime;
|
|
long RecvCallCount;
|
|
} s_SendRecvTimes;
|
|
|
|
class CInter {
|
|
public:
|
|
CInter (s_GRPTIMES (*pt)[StatGrpCount],s_SendRecvTimes ps,ident p,
|
|
unsigned long nint,int i,int j,short sore);
|
|
~CInter(void);
|
|
void AddTime(typetime t2,double val);
|
|
void WriteTime(typetime t2,double val);
|
|
void ReadTime(typetime t2,double &val);
|
|
void AddTime(typegrp t1,typecom t2,double val);
|
|
void ReadTime(typegrp t1,typecom t2,double &val);
|
|
void ReadTime(typetimeim t1,int t2,double &val);
|
|
int CompIdent(ident *p);
|
|
void ReadIdent(ident **p);
|
|
void SumInter(CInter *p);
|
|
unsigned long ninter;
|
|
private:
|
|
double mgen[ITER+1];
|
|
double mcom[RED+1];
|
|
double mrcom[RED+1];
|
|
double msyn[RED+1];
|
|
double mvar[RED+1];
|
|
double moverlap[RED+1];
|
|
double mcall[RED+1];
|
|
double lost[StatGrpCount];
|
|
double prod[StatGrpCount];
|
|
double calls[StatGrpCount];
|
|
double SendCallTime;
|
|
double MinSendCallTime;
|
|
double MaxSendCallTime;
|
|
long SendCallCount;
|
|
double RecvCallTime;
|
|
double MinRecvCallTime;
|
|
double MaxRecvCallTime;
|
|
long RecvCallCount;
|
|
ident idint;
|
|
};
|
|
/*enum typetime {LOST,INSUFUSR,INSUF,IDLE,
|
|
SUMCOM,SUMRCOM,SUMSYN,SUMVAR,SUMOVERLAP,
|
|
IMB,EXEC,CPUUSR,CPU,IOTIME,START,PROC,USERGRP,MSGPASGRP,
|
|
STARTREDGRP,WAITREDGRP,REDGRP,STARTSHDGRP,WAITSHDGRP,SHDGRP,DISRGRP,
|
|
REDISTRGRP,MAPPLGRP,DOPLGRP,PROGBLOCKGRP,IOGRP,REMACCESSGRP,USERDEBGRP,
|
|
STATISTGRP,SYSTEMGRP,ITER};*/
|
|
#endif
|