From 7a14b639574fb7139761c7ca4986fa03e99b7366 Mon Sep 17 00:00:00 2001 From: Petr Mrázek Date: Tue, 22 Nov 2016 02:02:49 +0100 Subject: NOISSUE send custom analytics values * System, Java and CPU architecture (either 32 or 64). * Java version. * System memory size in MB. * Java min/max heap size in MB. --- application/MultiMC.cpp | 31 ++++++++++++++++++++++++++++++- libraries/ganalytics/CMakeLists.txt | 2 +- libraries/ganalytics/include/sys.h | 17 +++++++++++++++++ libraries/ganalytics/src/sys.h | 17 ----------------- 4 files changed, 48 insertions(+), 19 deletions(-) create mode 100644 libraries/ganalytics/include/sys.h delete mode 100644 libraries/ganalytics/src/sys.h diff --git a/application/MultiMC.cpp b/application/MultiMC.cpp index 49e45c41..6c7deca1 100644 --- a/application/MultiMC.cpp +++ b/application/MultiMC.cpp @@ -64,7 +64,9 @@ #include #include #include + #include +#include #if defined Q_OS_WIN32 #ifndef WIN32_LEAN_AND_MEAN @@ -962,9 +964,36 @@ MainWindow* MultiMC::showMainWindow(bool minimized) m_mainWindow->checkInstancePathForProblems(); m_openWindows++; } + // FIXME: move this somewhere else... if(m_analytics) { - m_analytics->sendScreenView("Main Window"); + auto windowSize = m_mainWindow->size(); + auto sizeString = QString("%1x%2").arg(windowSize.width()).arg(windowSize.height()); + qDebug() << "Viewport size" << sizeString; + m_analytics->setViewportSize(sizeString); + /* + * cm1 = java min heap [MB] + * cm2 = java max heap [MB] + * cm3 = system RAM [MB] + * + * cd1 = java version + * cd2 = java architecture + * cd3 = system architecture + * cd4 = CPU architecture + */ + QVariantMap customValues; + customValues["cm1"] = m_settings->get("MinMemAlloc"); + customValues["cm2"] = m_settings->get("MaxMemAlloc"); + constexpr uint64_t Mega = 1024ull * 1024ull; + int ramSize = int(Sys::getSystemRam() / Mega); + qDebug() << "RAM size is" << ramSize << "MB"; + customValues["cm3"] = ramSize; + + customValues["cd1"] = m_settings->get("JavaVersion"); + customValues["cd2"] = m_settings->get("JavaArchitecture"); + customValues["cd3"] = Sys::isSystem64bit() ? "64":"32"; + customValues["cd4"] = Sys::isCPU64bit() ? "64":"32"; + m_analytics->sendScreenView("Main Window", customValues); } return m_mainWindow; } diff --git a/libraries/ganalytics/CMakeLists.txt b/libraries/ganalytics/CMakeLists.txt index 4b9a0cee..1f2ff4e2 100644 --- a/libraries/ganalytics/CMakeLists.txt +++ b/libraries/ganalytics/CMakeLists.txt @@ -8,7 +8,7 @@ set(ganalytics_SOURCES src/ganalytics.cpp src/ganalytics_worker.cpp src/ganalytics_worker.h -src/sys.h +include/sys.h include/ganalytics.h ) diff --git a/libraries/ganalytics/include/sys.h b/libraries/ganalytics/include/sys.h new file mode 100644 index 00000000..40e4e513 --- /dev/null +++ b/libraries/ganalytics/include/sys.h @@ -0,0 +1,17 @@ +#pragma once +#include + +namespace Sys +{ +/** + * Get operation system name and version. + * @return os A QString with the name and version of the operating system. + */ +QString getSystemInfo(); + +uint64_t getSystemRam(); + +bool isSystem64bit(); + +bool isCPU64bit(); +} diff --git a/libraries/ganalytics/src/sys.h b/libraries/ganalytics/src/sys.h deleted file mode 100644 index 40e4e513..00000000 --- a/libraries/ganalytics/src/sys.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once -#include - -namespace Sys -{ -/** - * Get operation system name and version. - * @return os A QString with the name and version of the operating system. - */ -QString getSystemInfo(); - -uint64_t getSystemRam(); - -bool isSystem64bit(); - -bool isCPU64bit(); -} -- cgit