mirror of
https://git.suyu.dev/suyu/suyu
synced 2024-11-01 04:47:53 +00:00
common/telemetry: Migrate namespace into the Common namespace
Migrates the Telemetry namespace into the Common namespace to make the code consistent with the rest of our common code.
This commit is contained in:
parent
bea9ed2548
commit
f6bb905182
13 changed files with 43 additions and 35 deletions
|
@ -12,7 +12,7 @@
|
||||||
#include "common/x64/cpu_detect.h"
|
#include "common/x64/cpu_detect.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace Telemetry {
|
namespace Common::Telemetry {
|
||||||
|
|
||||||
void FieldCollection::Accept(VisitorInterface& visitor) const {
|
void FieldCollection::Accept(VisitorInterface& visitor) const {
|
||||||
for (const auto& field : fields) {
|
for (const auto& field : fields) {
|
||||||
|
@ -88,4 +88,4 @@ void AppendOSInfo(FieldCollection& fc) {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Telemetry
|
} // namespace Common::Telemetry
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "common/common_types.h"
|
#include "common/common_types.h"
|
||||||
|
|
||||||
namespace Telemetry {
|
namespace Common::Telemetry {
|
||||||
|
|
||||||
/// Field type, used for grouping fields together in the final submitted telemetry log
|
/// Field type, used for grouping fields together in the final submitted telemetry log
|
||||||
enum class FieldType : u8 {
|
enum class FieldType : u8 {
|
||||||
|
@ -196,4 +196,4 @@ void AppendCPUInfo(FieldCollection& fc);
|
||||||
/// such as platform name, etc.
|
/// such as platform name, etc.
|
||||||
void AppendOSInfo(FieldCollection& fc);
|
void AppendOSInfo(FieldCollection& fc);
|
||||||
|
|
||||||
} // namespace Telemetry
|
} // namespace Common::Telemetry
|
||||||
|
|
|
@ -269,14 +269,14 @@ struct System::Impl {
|
||||||
// Log last frame performance stats if game was loded
|
// Log last frame performance stats if game was loded
|
||||||
if (perf_stats) {
|
if (perf_stats) {
|
||||||
const auto perf_results = GetAndResetPerfStats();
|
const auto perf_results = GetAndResetPerfStats();
|
||||||
telemetry_session->AddField(Telemetry::FieldType::Performance,
|
constexpr auto performance = Common::Telemetry::FieldType::Performance;
|
||||||
"Shutdown_EmulationSpeed",
|
|
||||||
|
telemetry_session->AddField(performance, "Shutdown_EmulationSpeed",
|
||||||
perf_results.emulation_speed * 100.0);
|
perf_results.emulation_speed * 100.0);
|
||||||
telemetry_session->AddField(Telemetry::FieldType::Performance, "Shutdown_Framerate",
|
telemetry_session->AddField(performance, "Shutdown_Framerate", perf_results.game_fps);
|
||||||
perf_results.game_fps);
|
telemetry_session->AddField(performance, "Shutdown_Frametime",
|
||||||
telemetry_session->AddField(Telemetry::FieldType::Performance, "Shutdown_Frametime",
|
|
||||||
perf_results.frametime * 1000.0);
|
perf_results.frametime * 1000.0);
|
||||||
telemetry_session->AddField(Telemetry::FieldType::Performance, "Mean_Frametime_MS",
|
telemetry_session->AddField(performance, "Mean_Frametime_MS",
|
||||||
perf_stats->GetMeanFrametime());
|
perf_stats->GetMeanFrametime());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
|
|
||||||
namespace Core {
|
namespace Core {
|
||||||
|
|
||||||
|
namespace Telemetry = Common::Telemetry;
|
||||||
|
|
||||||
static u64 GenerateTelemetryId() {
|
static u64 GenerateTelemetryId() {
|
||||||
u64 telemetry_id{};
|
u64 telemetry_id{};
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ public:
|
||||||
* @param value Value for the field to add.
|
* @param value Value for the field to add.
|
||||||
*/
|
*/
|
||||||
template <typename T>
|
template <typename T>
|
||||||
void AddField(Telemetry::FieldType type, const char* name, T value) {
|
void AddField(Common::Telemetry::FieldType type, const char* name, T value) {
|
||||||
field_collection.AddField(type, name, std::move(value));
|
field_collection.AddField(type, name, std::move(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,7 +63,8 @@ public:
|
||||||
bool SubmitTestcase();
|
bool SubmitTestcase();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Telemetry::FieldCollection field_collection; ///< Tracks all added fields for the session
|
/// Tracks all added fields for the session
|
||||||
|
Common::Telemetry::FieldCollection field_collection;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -509,9 +509,10 @@ void RendererOpenGL::AddTelemetryFields() {
|
||||||
LOG_INFO(Render_OpenGL, "GL_RENDERER: {}", gpu_model);
|
LOG_INFO(Render_OpenGL, "GL_RENDERER: {}", gpu_model);
|
||||||
|
|
||||||
auto& telemetry_session = system.TelemetrySession();
|
auto& telemetry_session = system.TelemetrySession();
|
||||||
telemetry_session.AddField(Telemetry::FieldType::UserSystem, "GPU_Vendor", gpu_vendor);
|
constexpr auto user_system = Common::Telemetry::FieldType::UserSystem;
|
||||||
telemetry_session.AddField(Telemetry::FieldType::UserSystem, "GPU_Model", gpu_model);
|
telemetry_session.AddField(user_system, "GPU_Vendor", gpu_vendor);
|
||||||
telemetry_session.AddField(Telemetry::FieldType::UserSystem, "GPU_OpenGL_Version", gl_version);
|
telemetry_session.AddField(user_system, "GPU_Model", gpu_model);
|
||||||
|
telemetry_session.AddField(user_system, "GPU_OpenGL_Version", gl_version);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RendererOpenGL::CreateRasterizer() {
|
void RendererOpenGL::CreateRasterizer() {
|
||||||
|
|
|
@ -439,7 +439,7 @@ void RendererVulkan::Report() const {
|
||||||
LOG_INFO(Render_Vulkan, "Vulkan: {}", api_version);
|
LOG_INFO(Render_Vulkan, "Vulkan: {}", api_version);
|
||||||
|
|
||||||
auto& telemetry_session = system.TelemetrySession();
|
auto& telemetry_session = system.TelemetrySession();
|
||||||
constexpr auto field = Telemetry::FieldType::UserSystem;
|
constexpr auto field = Common::Telemetry::FieldType::UserSystem;
|
||||||
telemetry_session.AddField(field, "GPU_Vendor", vendor_name);
|
telemetry_session.AddField(field, "GPU_Vendor", vendor_name);
|
||||||
telemetry_session.AddField(field, "GPU_Model", model_name);
|
telemetry_session.AddField(field, "GPU_Model", model_name);
|
||||||
telemetry_session.AddField(field, "GPU_Vulkan_Driver", driver_name);
|
telemetry_session.AddField(field, "GPU_Vulkan_Driver", driver_name);
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
|
|
||||||
namespace WebService {
|
namespace WebService {
|
||||||
|
|
||||||
|
namespace Telemetry = Common::Telemetry;
|
||||||
|
|
||||||
struct TelemetryJson::Impl {
|
struct TelemetryJson::Impl {
|
||||||
Impl(std::string host, std::string username, std::string token)
|
Impl(std::string host, std::string username, std::string token)
|
||||||
: host{std::move(host)}, username{std::move(username)}, token{std::move(token)} {}
|
: host{std::move(host)}, username{std::move(username)}, token{std::move(token)} {}
|
||||||
|
|
|
@ -14,25 +14,25 @@ namespace WebService {
|
||||||
* Implementation of VisitorInterface that serialized telemetry into JSON, and submits it to the
|
* Implementation of VisitorInterface that serialized telemetry into JSON, and submits it to the
|
||||||
* yuzu web service
|
* yuzu web service
|
||||||
*/
|
*/
|
||||||
class TelemetryJson : public Telemetry::VisitorInterface {
|
class TelemetryJson : public Common::Telemetry::VisitorInterface {
|
||||||
public:
|
public:
|
||||||
TelemetryJson(std::string host, std::string username, std::string token);
|
TelemetryJson(std::string host, std::string username, std::string token);
|
||||||
~TelemetryJson() override;
|
~TelemetryJson() override;
|
||||||
|
|
||||||
void Visit(const Telemetry::Field<bool>& field) override;
|
void Visit(const Common::Telemetry::Field<bool>& field) override;
|
||||||
void Visit(const Telemetry::Field<double>& field) override;
|
void Visit(const Common::Telemetry::Field<double>& field) override;
|
||||||
void Visit(const Telemetry::Field<float>& field) override;
|
void Visit(const Common::Telemetry::Field<float>& field) override;
|
||||||
void Visit(const Telemetry::Field<u8>& field) override;
|
void Visit(const Common::Telemetry::Field<u8>& field) override;
|
||||||
void Visit(const Telemetry::Field<u16>& field) override;
|
void Visit(const Common::Telemetry::Field<u16>& field) override;
|
||||||
void Visit(const Telemetry::Field<u32>& field) override;
|
void Visit(const Common::Telemetry::Field<u32>& field) override;
|
||||||
void Visit(const Telemetry::Field<u64>& field) override;
|
void Visit(const Common::Telemetry::Field<u64>& field) override;
|
||||||
void Visit(const Telemetry::Field<s8>& field) override;
|
void Visit(const Common::Telemetry::Field<s8>& field) override;
|
||||||
void Visit(const Telemetry::Field<s16>& field) override;
|
void Visit(const Common::Telemetry::Field<s16>& field) override;
|
||||||
void Visit(const Telemetry::Field<s32>& field) override;
|
void Visit(const Common::Telemetry::Field<s32>& field) override;
|
||||||
void Visit(const Telemetry::Field<s64>& field) override;
|
void Visit(const Common::Telemetry::Field<s64>& field) override;
|
||||||
void Visit(const Telemetry::Field<std::string>& field) override;
|
void Visit(const Common::Telemetry::Field<std::string>& field) override;
|
||||||
void Visit(const Telemetry::Field<const char*>& field) override;
|
void Visit(const Common::Telemetry::Field<const char*>& field) override;
|
||||||
void Visit(const Telemetry::Field<std::chrono::microseconds>& field) override;
|
void Visit(const Common::Telemetry::Field<std::chrono::microseconds>& field) override;
|
||||||
|
|
||||||
void Complete() override;
|
void Complete() override;
|
||||||
bool SubmitTestcase() override;
|
bool SubmitTestcase() override;
|
||||||
|
|
|
@ -54,7 +54,8 @@ void CompatDB::Submit() {
|
||||||
back();
|
back();
|
||||||
LOG_DEBUG(Frontend, "Compatibility Rating: {}", compatibility->checkedId());
|
LOG_DEBUG(Frontend, "Compatibility Rating: {}", compatibility->checkedId());
|
||||||
Core::System::GetInstance().TelemetrySession().AddField(
|
Core::System::GetInstance().TelemetrySession().AddField(
|
||||||
Telemetry::FieldType::UserFeedback, "Compatibility", compatibility->checkedId());
|
Common::Telemetry::FieldType::UserFeedback, "Compatibility",
|
||||||
|
compatibility->checkedId());
|
||||||
|
|
||||||
button(NextButton)->setEnabled(false);
|
button(NextButton)->setEnabled(false);
|
||||||
button(NextButton)->setText(tr("Submitting"));
|
button(NextButton)->setText(tr("Submitting"));
|
||||||
|
|
|
@ -1041,7 +1041,7 @@ bool GMainWindow::LoadROM(const QString& filename) {
|
||||||
}
|
}
|
||||||
game_path = filename;
|
game_path = filename;
|
||||||
|
|
||||||
system.TelemetrySession().AddField(Telemetry::FieldType::App, "Frontend", "Qt");
|
system.TelemetrySession().AddField(Common::Telemetry::FieldType::App, "Frontend", "Qt");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -229,7 +229,7 @@ int main(int argc, char** argv) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
system.TelemetrySession().AddField(Telemetry::FieldType::App, "Frontend", "SDL");
|
system.TelemetrySession().AddField(Common::Telemetry::FieldType::App, "Frontend", "SDL");
|
||||||
|
|
||||||
// Core is loaded, start the GPU (makes the GPU contexts current to this thread)
|
// Core is loaded, start the GPU (makes the GPU contexts current to this thread)
|
||||||
system.GPU().Start();
|
system.GPU().Start();
|
||||||
|
|
|
@ -251,7 +251,8 @@ int main(int argc, char** argv) {
|
||||||
|
|
||||||
Service::Yuzu::InstallInterfaces(system.ServiceManager(), datastring, callback);
|
Service::Yuzu::InstallInterfaces(system.ServiceManager(), datastring, callback);
|
||||||
|
|
||||||
system.TelemetrySession().AddField(Telemetry::FieldType::App, "Frontend", "SDLHideTester");
|
system.TelemetrySession().AddField(Common::Telemetry::FieldType::App, "Frontend",
|
||||||
|
"SDLHideTester");
|
||||||
|
|
||||||
system.GPU().Start();
|
system.GPU().Start();
|
||||||
system.Renderer().Rasterizer().LoadDiskResources();
|
system.Renderer().Rasterizer().LoadDiskResources();
|
||||||
|
|
Loading…
Reference in a new issue