LoT_PRC8/_module/nss/measure_lag.nss
Jaysyn904 ec287507a1 Initial upload
Initial upload.
2023-09-25 21:32:17 -04:00

30 lines
966 B
Plaintext

void main()
{
if (GetLocalInt(OBJECT_SELF, "lagmeasure") == 1)
{
int nNow = GetTimeSecond();
int nSum = GetLocalInt(OBJECT_SELF, "lagsum");
int nOcc = GetLocalInt(OBJECT_SELF, "occurrence");
int nLast = GetLocalInt(OBJECT_SELF, "lastsec");
int nDiff;
if (nOcc==0)
{
SetLocalInt(OBJECT_SELF, "lastsec", nNow);
SetLocalInt(OBJECT_SELF, "occurrence", 1);
return;
}
if (nNow < nLast)
nDiff = 60+nNow-nLast;
if (nNow >= nLast)
nDiff = nNow-nLast;
nOcc=nOcc+1;
nSum=nSum+nDiff;
int nAvg=nSum/(nOcc-1);
ActionSpeakString("Running heartbeat, interval is: "+IntToString(nDiff)+" seconds. Accumulated average:"+IntToString(nAvg));
SetLocalInt(OBJECT_SELF, "lastsec", nNow);
SetLocalInt(OBJECT_SELF, "lagsum", nSum);
SetLocalInt(OBJECT_SELF, "occurrence", nOcc);
}
}