mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 13:49:46 +02:00
send user hostname breakdown with heartbeat
This commit is contained in:
parent
7d2d60f200
commit
962066c7d1
1 changed files with 22 additions and 8 deletions
|
@ -1056,20 +1056,34 @@ void DomainServer::sendHeartbeatToMetaverse(const QString& networkAddress) {
|
||||||
domainObject[RESTRICTED_ACCESS_FLAG] =
|
domainObject[RESTRICTED_ACCESS_FLAG] =
|
||||||
_settingsManager.valueOrDefaultValueForKeyPath(RESTRICTED_ACCESS_SETTINGS_KEYPATH).toBool();
|
_settingsManager.valueOrDefaultValueForKeyPath(RESTRICTED_ACCESS_SETTINGS_KEYPATH).toBool();
|
||||||
|
|
||||||
// add the number of currently connected agent users
|
// figure out the breakdown of currently connected interface clients
|
||||||
int numConnectedAuthedUsers = 0;
|
int numConnectedUnassigned = 0;
|
||||||
|
QJsonObject userHostnames;
|
||||||
|
|
||||||
nodeList->eachNode([&numConnectedAuthedUsers](const SharedNodePointer& node){
|
static const QString DEFAULT_HOSTNAME = "*";
|
||||||
if (node->getLinkedData() && !static_cast<DomainServerNodeData*>(node->getLinkedData())->getUsername().isEmpty()) {
|
|
||||||
++numConnectedAuthedUsers;
|
nodeList->eachNode([&numConnectedUnassigned, &userHostnames](const SharedNodePointer& node) {
|
||||||
|
if (node->getLinkedData()) {
|
||||||
|
auto nodeData = static_cast<DomainServerNodeData*>(node->getLinkedData());
|
||||||
|
|
||||||
|
if (!nodeData->wasAssigned()) {
|
||||||
|
++numConnectedUnassigned;
|
||||||
|
|
||||||
|
// increment the count for this hostname (or the default if we don't have one)
|
||||||
|
auto hostname = nodeData->getPlaceName().isEmpty() ? DEFAULT_HOSTNAME : nodeData->getPlaceName();
|
||||||
|
userHostnames[hostname] = userHostnames[hostname].toInt() + 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const QString DOMAIN_HEARTBEAT_KEY = "heartbeat";
|
static const QString DOMAIN_HEARTBEAT_KEY = "heartbeat";
|
||||||
const QString HEARTBEAT_NUM_USERS_KEY = "num_users";
|
static const QString HEARTBEAT_NUM_USERS_KEY = "num_users";
|
||||||
|
static const QString HEARTBEAT_USER_HOSTNAMES_KEY = "user_hostnames";
|
||||||
|
|
||||||
QJsonObject heartbeatObject;
|
QJsonObject heartbeatObject;
|
||||||
heartbeatObject[HEARTBEAT_NUM_USERS_KEY] = numConnectedAuthedUsers;
|
heartbeatObject[HEARTBEAT_NUM_USERS_KEY] = numConnectedUnassigned;
|
||||||
|
heartbeatObject[HEARTBEAT_USER_HOSTNAMES_KEY] = userHostnames;
|
||||||
|
|
||||||
domainObject[DOMAIN_HEARTBEAT_KEY] = heartbeatObject;
|
domainObject[DOMAIN_HEARTBEAT_KEY] = heartbeatObject;
|
||||||
|
|
||||||
QString domainUpdateJSON = QString("{\"domain\": %1 }").arg(QString(QJsonDocument(domainObject).toJson()));
|
QString domainUpdateJSON = QString("{\"domain\": %1 }").arg(QString(QJsonDocument(domainObject).toJson()));
|
||||||
|
|
Loading…
Reference in a new issue