diff --git a/checkin_notes b/checkin_notes index f6c63f583b..cecff05636 100755 --- a/checkin_notes +++ b/checkin_notes @@ -9022,7 +9022,15 @@ Rom 7 July 2005 - Bug Fix: Reduce the amount of time the call to wxDialUpManager->IsAlwaysOnline takes by preloading the DLL in memory. - Bug Fix: Only check for an always on connection every 60 seconds. + - Provide some more information about what various OS's report about the + client machine as part of the message log. Some people are not aware of + what hyperthreading does and how the various operating systems respond + to detecting it. + client/ + client_state.C clientgui/ MainFrame.cpp, .h stdwx.h + lib/ + hostinfo.h diff --git a/client/client_state.C b/client/client_state.C index b9cc5bab1c..eb7502c531 100644 --- a/client/client_state.C +++ b/client/client_state.C @@ -188,6 +188,7 @@ int CLIENT_STATE::init() { int retval; unsigned int i; char buf[256]; + char buf2[256]; srand((unsigned int)time(0)); now = dtime(); @@ -234,8 +235,36 @@ int CLIENT_STATE::init() { } #endif - parse_account_files(); + // Getting host info is very fast, so we can do it anytime + // + host_info.clear_host_info(); + host_info.get_host_info(); + set_ncpus(); + + // Display useful diagnostic information in case the user is confused + // about their own system. + msg_printf(NULL, MSG_INFO, + "Processor Inventory: %d %s %s Processor(s)", + host_info.p_ncpus, host_info.p_vendor, host_info.p_model + ); + + nbytes_to_string(host_info.m_nbytes, 0, buf, sizeof(buf)); + nbytes_to_string(host_info.m_swap, 0, buf2, sizeof(buf2)); + msg_printf(NULL, MSG_INFO, + "Memory Inventory: Memory total - %s, Swap total - %s", + buf, buf2 + ); + + nbytes_to_string(host_info.d_total, 0, buf, sizeof(buf)); + nbytes_to_string(host_info.d_free, 0, buf2, sizeof(buf2)); + msg_printf(NULL, MSG_INFO, + "Disk Inventory: Disk total - %s, Disk available - %s", + buf, buf2 + ); + + // Parse various files + parse_account_files(); parse_statistics_files(); // check for app_info.xml file in project dirs. @@ -247,7 +276,6 @@ int CLIENT_STATE::init() { // ignoring any tags (and associated stuff) // for projects with no account file // - host_info.clear_host_info(); parse_state_file(); // Check to see if we can write the state file. @@ -270,7 +298,7 @@ int CLIENT_STATE::init() { if ((core_client_major_version != old_major_version) || (core_client_minor_version != old_minor_version)) { msg_printf(NULL, MSG_INFO, - "Version Change Detected (%d.%02d -> %d.%02d); running CPU benchmarks\n", + "Version change detected (%d.%02d -> %d.%02d); running CPU benchmarks\n", old_major_version, old_minor_version, core_client_major_version, core_client_minor_version ); run_cpu_benchmarks = true; @@ -312,12 +340,6 @@ int CLIENT_STATE::init() { } install_global_prefs(); - // Getting host info is very fast, so we can do it anytime - // - host_info.get_host_info(); - - set_ncpus(); - // set period start time and reschedule // must_schedule_cpus = true; diff --git a/lib/hostinfo.h b/lib/hostinfo.h index a05f993699..1b40fba5b6 100644 --- a/lib/hostinfo.h +++ b/lib/hostinfo.h @@ -51,12 +51,12 @@ struct HOST_INFO { char os_name[256]; char os_version[256]; - double m_nbytes; + double m_nbytes; // Total amount of memory in bytes double m_cache; - double m_swap; + double m_swap; // Total amount of swap space in bytes - double d_total; - double d_free; + double d_total; // Total amount of diskspace in bytes + double d_free; // Total amount of available diskspace in bytes int parse(MIOFILE&); int write(MIOFILE&);