This commit is contained in:
Atlante45 2017-12-07 11:49:05 -08:00
parent 06e2f394f9
commit aec5ab5921
4 changed files with 96 additions and 72 deletions

View file

@ -154,7 +154,10 @@ Rectangle {
color: OctreeStats.getColor() color: OctreeStats.getColor()
} }
Column { Repeater {
model: OctreeStats.serversNum
delegate: Column {
id: serverColumn id: serverColumn
width: scrollView.width - 10 width: scrollView.width - 10
x: 5 x: 5
@ -165,7 +168,7 @@ Rectangle {
TabletEntityStatisticsItem { TabletEntityStatisticsItem {
id: serverStats id: serverStats
width: parent.width width: parent.width
titleText: qsTr("Entity Server") + ":" titleText: qsTr("Entity Server ") + (index+1) + ":"
colorScheme: root.colorScheme colorScheme: root.colorScheme
color: OctreeStats.getColor() color: OctreeStats.getColor()
} }
@ -215,25 +218,26 @@ Rectangle {
name: "less" name: "less"
PropertyChanges { target: moreButton; text: qsTr("more..."); } PropertyChanges { target: moreButton; text: qsTr("more..."); }
PropertyChanges { target: mostButton; text: qsTr("most..."); } PropertyChanges { target: mostButton; text: qsTr("most..."); }
PropertyChanges { target: serverStats; text: OctreeStats.servers[0]; } PropertyChanges { target: serverStats; text: OctreeStats.servers[index*3]; }
}, },
State { State {
name: "more" name: "more"
PropertyChanges { target: moreButton; text: qsTr("most..."); } PropertyChanges { target: moreButton; text: qsTr("most..."); }
PropertyChanges { target: mostButton; text: qsTr("less..."); } PropertyChanges { target: mostButton; text: qsTr("less..."); }
PropertyChanges { target: serverStats; text: OctreeStats.servers[0] + PropertyChanges { target: serverStats; text: OctreeStats.servers[index*3] +
OctreeStats.servers[1]; } OctreeStats.servers[index*3 + 1]; }
}, },
State { State {
name: "most" name: "most"
PropertyChanges { target: moreButton; text: qsTr("less..."); } PropertyChanges { target: moreButton; text: qsTr("less..."); }
PropertyChanges { target: mostButton; text: qsTr("least..."); } PropertyChanges { target: mostButton; text: qsTr("least..."); }
PropertyChanges { target: serverStats; text: OctreeStats.servers[0] + PropertyChanges { target: serverStats; text: OctreeStats.servers[index*3] +
OctreeStats.servers[1] + OctreeStats.servers[index*3 + 1] +
OctreeStats.servers[2]; } OctreeStats.servers[index*3 + 2]; }
} }
] ]
} //servers column } //servers column
} //repeater
} //column } //column
} //flickable } //flickable
} }

View file

@ -57,6 +57,10 @@ OctreeStatsProvider::~OctreeStatsProvider() {
_updateTimer.stop(); _updateTimer.stop();
} }
int OctreeStatsProvider::serversNum() const {
return m_serversNum;
}
void OctreeStatsProvider::updateOctreeStatsData() { void OctreeStatsProvider::updateOctreeStatsData() {
// Processed Entities Related stats // Processed Entities Related stats
@ -238,9 +242,12 @@ void OctreeStatsProvider::updateOctreeServers() {
void OctreeStatsProvider::showOctreeServersOfType(NodeType_t serverType) { void OctreeStatsProvider::showOctreeServersOfType(NodeType_t serverType) {
m_servers.clear(); m_servers.clear();
int serverCount = 0;
auto node = DependencyManager::get<NodeList>()->soloNodeOfType(serverType); auto node = DependencyManager::get<NodeList>()->soloNodeOfType(serverType);
if (node) { if (node) {
++serverCount;
QString lesserDetails; QString lesserDetails;
QString moreDetails; QString moreDetails;
QString mostDetails; QString mostDetails;
@ -324,6 +331,11 @@ void OctreeStatsProvider::showOctreeServersOfType(NodeType_t serverType) {
m_servers.append(moreDetails); m_servers.append(moreDetails);
m_servers.append(mostDetails); m_servers.append(mostDetails);
} }
if (serverCount != m_serversNum) {
m_serversNum = serverCount;
emit serversNumChanged(m_serversNum);
}
emit serversChanged(m_servers); emit serversChanged(m_servers);
} }

View file

@ -22,6 +22,7 @@ class OctreeStatsProvider : public QObject, public Dependency {
Q_OBJECT Q_OBJECT
SINGLETON_DEPENDENCY SINGLETON_DEPENDENCY
Q_PROPERTY(int serversNum READ serversNum NOTIFY serversNumChanged)
Q_PROPERTY(QString serverElements READ serverElements NOTIFY serverElementsChanged) Q_PROPERTY(QString serverElements READ serverElements NOTIFY serverElementsChanged)
Q_PROPERTY(QString localElements READ localElements NOTIFY localElementsChanged) Q_PROPERTY(QString localElements READ localElements NOTIFY localElementsChanged)
Q_PROPERTY(QString localElementsMemory READ localElementsMemory NOTIFY localElementsMemoryChanged) Q_PROPERTY(QString localElementsMemory READ localElementsMemory NOTIFY localElementsMemoryChanged)
@ -40,6 +41,8 @@ public:
OctreeStatsProvider(QObject* parent, NodeToOctreeSceneStats* model); OctreeStatsProvider(QObject* parent, NodeToOctreeSceneStats* model);
~OctreeStatsProvider(); ~OctreeStatsProvider();
int serversNum() const;
QString serverElements() const { QString serverElements() const {
return m_serverElements; return m_serverElements;
} }
@ -89,6 +92,8 @@ public:
} }
signals: signals:
void serversNumChanged(int serversNum);
void serverElementsChanged(const QString &serverElements); void serverElementsChanged(const QString &serverElements);
void localElementsChanged(const QString &localElements); void localElementsChanged(const QString &localElements);
void sendingModeChanged(const QString &sendingMode); void sendingModeChanged(const QString &sendingMode);
@ -126,7 +131,7 @@ private:
quint64 _lastRefresh = 0; quint64 _lastRefresh = 0;
QTimer _updateTimer; QTimer _updateTimer;
int m_serversNum { 0 };
QString m_serverElements; QString m_serverElements;
QString m_localElements; QString m_localElements;
QString m_localElementsMemory; QString m_localElementsMemory;

View file

@ -42,7 +42,10 @@ static Setting::Handle<quint16> LIMITED_NODELIST_LOCAL_PORT("LimitedNodeList.Loc
const std::set<NodeType_t> SOLO_NODE_TYPES = { const std::set<NodeType_t> SOLO_NODE_TYPES = {
NodeType::AvatarMixer, NodeType::AvatarMixer,
NodeType::AudioMixer, NodeType::AudioMixer,
NodeType::AssetServer NodeType::AssetServer,
NodeType::EntityServer,
NodeType::MessagesMixer,
NodeType::EntityScriptServer
}; };
LimitedNodeList::LimitedNodeList(int socketListenPort, int dtlsListenPort) : LimitedNodeList::LimitedNodeList(int socketListenPort, int dtlsListenPort) :