mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-04 19:17:14 +02:00
Merge pull request #8906 from ZappoMan/improvedStats
more detailed stats in user heartbeat
This commit is contained in:
commit
ad09ced3f8
4 changed files with 40 additions and 19 deletions
|
@ -858,7 +858,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo
|
|||
{ "gl_version_int", glVersionToInteger(glContextData.value("version").toString()) },
|
||||
{ "gl_version", glContextData["version"] },
|
||||
{ "gl_vender", glContextData["vendor"] },
|
||||
{ "gl_sl_version", glContextData["slVersion"] },
|
||||
{ "gl_sl_version", glContextData["sl_version"] },
|
||||
{ "gl_renderer", glContextData["renderer"] },
|
||||
{ "ideal_thread_count", QThread::idealThreadCount() }
|
||||
};
|
||||
|
@ -1173,10 +1173,19 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo
|
|||
properties["process_memory_used"] = static_cast<qint64>(memInfo.processUsedMemoryBytes);
|
||||
}
|
||||
|
||||
// content location and build info - useful for filtering stats
|
||||
auto addressManager = DependencyManager::get<AddressManager>();
|
||||
auto currentDomain = addressManager->currentShareableAddress(true).toString(); // domain only
|
||||
auto currentPath = addressManager->currentPath(true); // with orientation
|
||||
properties["current_domain"] = currentDomain;
|
||||
properties["current_path"] = currentPath;
|
||||
properties["build_version"] = BuildInfo::VERSION;
|
||||
|
||||
auto displayPlugin = qApp->getActiveDisplayPlugin();
|
||||
|
||||
properties["fps"] = _frameCounter.rate();
|
||||
properties["target_frame_rate"] = getTargetFrameRate();
|
||||
properties["render_rate"] = displayPlugin->renderRate();
|
||||
properties["present_rate"] = displayPlugin->presentRate();
|
||||
properties["new_frame_present_rate"] = displayPlugin->newFramePresentRate();
|
||||
properties["dropped_frame_rate"] = displayPlugin->droppedFrameRate();
|
||||
|
@ -1222,6 +1231,10 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo
|
|||
properties["active_display_plugin"] = getActiveDisplayPlugin()->getName();
|
||||
properties["using_hmd"] = isHMDMode();
|
||||
|
||||
auto glInfo = getGLContextData();
|
||||
properties["gl_info"] = glInfo;
|
||||
properties["gpu_free_memory"] = (int)BYTES_TO_MB(gpu::Context::getFreeGPUMemory());
|
||||
|
||||
auto hmdHeadPose = getHMDSensorPose();
|
||||
properties["hmd_head_pose_changed"] = isHMDMode() && (hmdHeadPose != lastHMDHeadPose);
|
||||
lastHMDHeadPose = hmdHeadPose;
|
||||
|
|
|
@ -35,17 +35,22 @@ int glVersionToInteger(QString glVersion) {
|
|||
}
|
||||
|
||||
QJsonObject getGLContextData() {
|
||||
QString glVersion = QString((const char*)glGetString(GL_VERSION));
|
||||
QString glslVersion = QString((const char*) glGetString(GL_SHADING_LANGUAGE_VERSION));
|
||||
QString glVendor = QString((const char*) glGetString(GL_VENDOR));
|
||||
QString glRenderer = QString((const char*)glGetString(GL_RENDERER));
|
||||
static QJsonObject result;
|
||||
static std::once_flag once;
|
||||
std::call_once(once, [] {
|
||||
QString glVersion = QString((const char*)glGetString(GL_VERSION));
|
||||
QString glslVersion = QString((const char*) glGetString(GL_SHADING_LANGUAGE_VERSION));
|
||||
QString glVendor = QString((const char*) glGetString(GL_VENDOR));
|
||||
QString glRenderer = QString((const char*)glGetString(GL_RENDERER));
|
||||
|
||||
return QJsonObject {
|
||||
{ "version", glVersion },
|
||||
{ "slVersion", glslVersion },
|
||||
{ "vendor", glVendor },
|
||||
{ "renderer", glRenderer },
|
||||
};
|
||||
result = QJsonObject {
|
||||
{ "version", glVersion },
|
||||
{ "sl_version", glslVersion },
|
||||
{ "vendor", glVendor },
|
||||
{ "renderer", glRenderer },
|
||||
};
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
QThread* RENDER_THREAD = nullptr;
|
||||
|
|
|
@ -47,7 +47,7 @@ bool AddressManager::isConnected() {
|
|||
return DependencyManager::get<NodeList>()->getDomainHandler().isConnected();
|
||||
}
|
||||
|
||||
QUrl AddressManager::currentAddress() const {
|
||||
QUrl AddressManager::currentAddress(bool domainOnly) const {
|
||||
QUrl hifiURL;
|
||||
|
||||
hifiURL.setScheme(HIFI_URL_SCHEME);
|
||||
|
@ -57,7 +57,9 @@ QUrl AddressManager::currentAddress() const {
|
|||
hifiURL.setPort(_port);
|
||||
}
|
||||
|
||||
hifiURL.setPath(currentPath());
|
||||
if (!domainOnly) {
|
||||
hifiURL.setPath(currentPath());
|
||||
}
|
||||
|
||||
return hifiURL;
|
||||
}
|
||||
|
@ -69,8 +71,7 @@ QUrl AddressManager::currentFacingAddress() const {
|
|||
return hifiURL;
|
||||
}
|
||||
|
||||
|
||||
QUrl AddressManager::currentShareableAddress() const {
|
||||
QUrl AddressManager::currentShareableAddress(bool domainOnly) const {
|
||||
if (!_shareablePlaceName.isEmpty()) {
|
||||
// if we have a shareable place name use that instead of whatever the current host is
|
||||
QUrl hifiURL;
|
||||
|
@ -78,11 +79,13 @@ QUrl AddressManager::currentShareableAddress() const {
|
|||
hifiURL.setScheme(HIFI_URL_SCHEME);
|
||||
hifiURL.setHost(_shareablePlaceName);
|
||||
|
||||
hifiURL.setPath(currentPath());
|
||||
if (!domainOnly) {
|
||||
hifiURL.setPath(currentPath());
|
||||
}
|
||||
|
||||
return hifiURL;
|
||||
} else {
|
||||
return currentAddress();
|
||||
return currentAddress(domainOnly);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -63,9 +63,9 @@ public:
|
|||
bool isConnected();
|
||||
const QString& getProtocol() { return HIFI_URL_SCHEME; };
|
||||
|
||||
QUrl currentAddress() const;
|
||||
QUrl currentAddress(bool domainOnly = false) const;
|
||||
QUrl currentFacingAddress() const;
|
||||
QUrl currentShareableAddress() const;
|
||||
QUrl currentShareableAddress(bool domainOnly = false) const;
|
||||
QUrl currentFacingShareableAddress() const;
|
||||
QString currentPath(bool withOrientation = true) const;
|
||||
QString currentFacingPath() const;
|
||||
|
|
Loading…
Reference in a new issue