Files
SAPFOR/dvm/tools/pppa/branches/dvm4.07/src/inter.h

73 lines
2.1 KiB
C
Raw Normal View History

2023-09-15 08:30:58 +03:00
#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