intermediate: change statistics
This commit is contained in:
parent
123da40aeb
commit
96036791b5
|
@ -40,10 +40,12 @@ class TimeAverage{
|
||||||
class TimeMonitor{
|
class TimeMonitor{
|
||||||
public:
|
public:
|
||||||
TimeAverage **times=NULL;
|
TimeAverage **times=NULL;
|
||||||
|
unsigned long *current=NULL;
|
||||||
unsigned long start=0;
|
unsigned long start=0;
|
||||||
unsigned long lastLog=0;
|
unsigned long lastLog=0;
|
||||||
unsigned long lastLogCount=0;
|
unsigned long lastLogCount=0;
|
||||||
unsigned long count=0;
|
unsigned long count=0;
|
||||||
|
unsigned long max=0;
|
||||||
size_t len;
|
size_t len;
|
||||||
TimeMonitor(size_t len,double factor=0.3){
|
TimeMonitor(size_t len,double factor=0.3){
|
||||||
this->len=len;
|
this->len=len;
|
||||||
|
@ -51,22 +53,16 @@ class TimeMonitor{
|
||||||
for (size_t i=0;i<len;i++){
|
for (size_t i=0;i<len;i++){
|
||||||
times[i]=new TimeAverage(factor);
|
times[i]=new TimeAverage(factor);
|
||||||
}
|
}
|
||||||
|
current=new unsigned long[len];
|
||||||
reset();
|
reset();
|
||||||
count=0;
|
count=0;
|
||||||
}
|
}
|
||||||
void reset(){
|
void reset(){
|
||||||
start=millis();
|
start=millis();
|
||||||
|
for (size_t i=0;i<len;i++) current[i]=0;
|
||||||
count++;
|
count++;
|
||||||
|
|
||||||
}
|
}
|
||||||
double getMax(){
|
|
||||||
double rt=0;
|
|
||||||
for (size_t i=0;i<len;i++){
|
|
||||||
if (times[i]->getCurrent() == 0) continue;
|
|
||||||
if (times[i]->getCurrent() > rt) rt=times[i]->getCurrent();
|
|
||||||
}
|
|
||||||
return rt;
|
|
||||||
}
|
|
||||||
String getLog(){
|
String getLog(){
|
||||||
unsigned long now=millis();
|
unsigned long now=millis();
|
||||||
String log;
|
String log;
|
||||||
|
@ -75,13 +71,14 @@ class TimeMonitor{
|
||||||
unsigned long tdif=now-lastLog;
|
unsigned long tdif=now-lastLog;
|
||||||
if (tdif > 0){
|
if (tdif > 0){
|
||||||
log+=String((double)(num*1000)/(double)tdif);
|
log+=String((double)(num*1000)/(double)tdif);
|
||||||
log+="/s,";
|
log+="/s[";
|
||||||
log+=String(getMax());
|
log+=String(max);
|
||||||
log+="ms#";
|
log+="ms]#";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
lastLog=now;
|
lastLog=now;
|
||||||
lastLogCount=count;
|
lastLogCount=count;
|
||||||
|
max=0;
|
||||||
for (size_t i=1;i<len;i++){
|
for (size_t i=1;i<len;i++){
|
||||||
if (times[i]->getCount()){
|
if (times[i]->getCount()){
|
||||||
log+=String(i);
|
log+=String(i);
|
||||||
|
@ -99,7 +96,14 @@ class TimeMonitor{
|
||||||
}
|
}
|
||||||
void setTime(size_t index){
|
void setTime(size_t index){
|
||||||
if (index < 1 || index >= len) return;
|
if (index < 1 || index >= len) return;
|
||||||
unsigned long current=millis()-start;
|
unsigned long sv=start;
|
||||||
times[index-1]->add(current);
|
for (size_t i=0;i<index;i++){
|
||||||
|
if (current[i] != 0) sv=current[i];
|
||||||
|
}
|
||||||
|
unsigned long now=millis();
|
||||||
|
current[index]=now;
|
||||||
|
unsigned long currentv=now-sv;
|
||||||
|
if ((now-start) > max) max=now-start;
|
||||||
|
times[index-1]->add(currentv);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -402,7 +402,6 @@ public:
|
||||||
protected:
|
protected:
|
||||||
virtual void processRequest()
|
virtual void processRequest()
|
||||||
{
|
{
|
||||||
int numPgns = nmea0183Converter->numPgns();
|
|
||||||
GwJsonDocument status(256 +
|
GwJsonDocument status(256 +
|
||||||
countNMEA2KIn.getJsonSize()+
|
countNMEA2KIn.getJsonSize()+
|
||||||
countNMEA2KOut.getJsonSize() +
|
countNMEA2KOut.getJsonSize() +
|
||||||
|
|
Loading…
Reference in New Issue