diff --git a/src/logging.cpp b/src/logging.cpp index 24dd2941..96bc517c 100644 --- a/src/logging.cpp +++ b/src/logging.cpp @@ -111,24 +111,35 @@ void writeFile(string filename){ SPDLOG_DEBUG("Writing log file [{}], {} entries", filename, logArray.size()); std::ofstream out(filename, ios::out | ios::app); if (out){ - out << "os," << "cpu," << "gpu," << "ram," << "kernel," << "driver," << "cpuscheduler" << endl; - out << os << "," << cpu << "," << gpu << "," << ram << "," << kernel << "," << driver << "," << cpusched << endl; - out << "fps," << "frametime," << "cpu_load," << "gpu_load," << "cpu_temp," << "gpu_temp," << "gpu_core_clock," << "gpu_mem_clock," << "gpu_vram_used," << "gpu_power," << "ram_used," << "elapsed" << endl; - - for (size_t i = 0; i < logArray.size(); i++){ - out << logArray[i].fps << ","; - out << logArray[i].frametime << ","; - out << logArray[i].cpu_load << ","; - out << logArray[i].gpu_load << ","; - out << logArray[i].cpu_temp << ","; - out << logArray[i].gpu_temp << ","; - out << logArray[i].gpu_core_clock << ","; - out << logArray[i].gpu_mem_clock << ","; - out << logArray[i].gpu_vram_used << ","; - out << logArray[i].gpu_power << ","; - out << logArray[i].ram_used << ","; - out << std::chrono::duration_cast(logArray[i].previous).count() << "\n"; - } + if (HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_log_versioning]){ + printf("log versioning"); + out << "v1" << endl; + out << MANGOHUD_VERSION << endl; + out << "---------------------SYSTEM INFO---------------------" << endl; + } + + out << "os," << "cpu," << "gpu," << "ram," << "kernel," << "driver," << "cpuscheduler" << endl; + out << os << "," << cpu << "," << gpu << "," << ram << "," << kernel << "," << driver << "," << cpusched << endl; + + if (HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_log_versioning]) + out << "--------------------FRAME METRICS--------------------" << endl; + + out << "fps," << "frametime," << "cpu_load," << "gpu_load," << "cpu_temp," << "gpu_temp," << "gpu_core_clock," << "gpu_mem_clock," << "gpu_vram_used," << "gpu_power," << "ram_used," << "elapsed" << endl; + + for (size_t i = 0; i < logArray.size(); i++){ + out << logArray[i].fps << ","; + out << logArray[i].frametime << ","; + out << logArray[i].cpu_load << ","; + out << logArray[i].gpu_load << ","; + out << logArray[i].cpu_temp << ","; + out << logArray[i].gpu_temp << ","; + out << logArray[i].gpu_core_clock << ","; + out << logArray[i].gpu_mem_clock << ","; + out << logArray[i].gpu_vram_used << ","; + out << logArray[i].gpu_power << ","; + out << logArray[i].ram_used << ","; + out << std::chrono::duration_cast(logArray[i].previous).count() << "\n"; + } } else { SPDLOG_ERROR("Failed to write log file"); } diff --git a/src/overlay_params.h b/src/overlay_params.h index 7977edfe..9ebd636c 100644 --- a/src/overlay_params.h +++ b/src/overlay_params.h @@ -84,6 +84,7 @@ typedef unsigned long KeySym; OVERLAY_PARAM_BOOL(fan) \ OVERLAY_PARAM_BOOL(throttling_status) \ OVERLAY_PARAM_BOOL(fcat) \ + OVERLAY_PARAM_BOOL(log_versioning) \ OVERLAY_PARAM_CUSTOM(fps_sampling_period) \ OVERLAY_PARAM_CUSTOM(output_folder) \ OVERLAY_PARAM_CUSTOM(output_file) \