Add jitter to Stream Stats in the GUI
These are the GUI side changes to the jitter server side changes committed earlier.
This commit is contained in:
parent
a2734647b6
commit
bfda96a888
@ -52,6 +52,7 @@ enum {
|
|||||||
kAvgTxBitRate,
|
kAvgTxBitRate,
|
||||||
kAvgRxBitRate,
|
kAvgRxBitRate,
|
||||||
kAvgLatency,
|
kAvgLatency,
|
||||||
|
kAvgJitter,
|
||||||
kMaxAggrStreamStats
|
kMaxAggrStreamStats
|
||||||
};
|
};
|
||||||
static QStringList aggrStatTitles = QStringList()
|
static QStringList aggrStatTitles = QStringList()
|
||||||
@ -63,7 +64,8 @@ static QStringList aggrStatTitles = QStringList()
|
|||||||
<< "Avg\nRx PktRate"
|
<< "Avg\nRx PktRate"
|
||||||
<< "Avg\nTx BitRate"
|
<< "Avg\nTx BitRate"
|
||||||
<< "Avg\nRx BitRate"
|
<< "Avg\nRx BitRate"
|
||||||
<< "Avg\nLatency";
|
<< "Avg\nLatency"
|
||||||
|
<< "Avg\nJitter";
|
||||||
|
|
||||||
static const uint kAggrGuid = 0xffffffff;
|
static const uint kAggrGuid = 0xffffffff;
|
||||||
|
|
||||||
@ -192,6 +194,12 @@ QVariant StreamStatsModel::data(const QModelIndex &index, int role) const
|
|||||||
XLocale().toTimeIntervalString(
|
XLocale().toTimeIntervalString(
|
||||||
aggrGuidStats_.value(guid).latencySum
|
aggrGuidStats_.value(guid).latencySum
|
||||||
/ aggrGuidStats_.value(guid).latencyCount);
|
/ aggrGuidStats_.value(guid).latencyCount);
|
||||||
|
case kAvgJitter:
|
||||||
|
return aggrGuidStats_.value(guid).latencyCount <= 0
|
||||||
|
|| aggrGuidStats_.value(guid).latencySum <= 0 ? QString("-") :
|
||||||
|
XLocale().toTimeIntervalString(
|
||||||
|
aggrGuidStats_.value(guid).jitterSum
|
||||||
|
/ aggrGuidStats_.value(guid).latencyCount);
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
};
|
};
|
||||||
@ -267,6 +275,7 @@ void StreamStatsModel::appendStreamStatsList(
|
|||||||
ss.rxBytes = s.rx_bytes();
|
ss.rxBytes = s.rx_bytes();
|
||||||
ss.txBytes = s.tx_bytes();
|
ss.txBytes = s.tx_bytes();
|
||||||
ss.rxLatency = s.latency();
|
ss.rxLatency = s.latency();
|
||||||
|
ss.rxJitter = s.jitter();
|
||||||
|
|
||||||
aggrPort.rxPkts += ss.rxPkts;
|
aggrPort.rxPkts += ss.rxPkts;
|
||||||
aggrPort.txPkts += ss.txPkts;
|
aggrPort.txPkts += ss.txPkts;
|
||||||
@ -282,6 +291,7 @@ void StreamStatsModel::appendStreamStatsList(
|
|||||||
aggrGuid.txDuration = s.tx_duration(); // XXX: use largest or avg?
|
aggrGuid.txDuration = s.tx_duration(); // XXX: use largest or avg?
|
||||||
if (ss.rxLatency) {
|
if (ss.rxLatency) {
|
||||||
aggrGuid.latencySum += ss.rxLatency;
|
aggrGuid.latencySum += ss.rxLatency;
|
||||||
|
aggrGuid.jitterSum += ss.rxJitter;
|
||||||
aggrGuid.latencyCount++;
|
aggrGuid.latencyCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -294,6 +304,7 @@ void StreamStatsModel::appendStreamStatsList(
|
|||||||
aggrAggr.txDuration = aggrGuid.txDuration;
|
aggrAggr.txDuration = aggrGuid.txDuration;
|
||||||
if (ss.rxLatency) {
|
if (ss.rxLatency) {
|
||||||
aggrAggr.latencySum += ss.rxLatency;
|
aggrAggr.latencySum += ss.rxLatency;
|
||||||
|
aggrAggr.jitterSum += ss.rxJitter;
|
||||||
aggrAggr.latencyCount++;
|
aggrAggr.latencyCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ private:
|
|||||||
quint64 rxBytes;
|
quint64 rxBytes;
|
||||||
quint64 txBytes;
|
quint64 txBytes;
|
||||||
quint64 rxLatency;
|
quint64 rxLatency;
|
||||||
|
quint64 rxJitter;
|
||||||
};
|
};
|
||||||
struct AggrGuidStats {
|
struct AggrGuidStats {
|
||||||
quint64 rxPkts;
|
quint64 rxPkts;
|
||||||
@ -67,6 +68,7 @@ private:
|
|||||||
qint64 pktLoss;
|
qint64 pktLoss;
|
||||||
double txDuration;
|
double txDuration;
|
||||||
quint64 latencySum;
|
quint64 latencySum;
|
||||||
|
quint64 jitterSum;
|
||||||
uint latencyCount;
|
uint latencyCount;
|
||||||
};
|
};
|
||||||
QList<Guid> guidList_;
|
QList<Guid> guidList_;
|
||||||
|
Loading…
Reference in New Issue
Block a user