/* this function calls every function in sysapi that makes sense to call and prints out its value */ extern "C" void sysapi_test_dump_functions(void) { int foo = 0; long long loo = 0; float bar = 0; const char *qux = NULL; time_t t0, t1; dprintf(D_ALWAYS, "SysAPI: Calling SysAPI functions....\n"); qux = sysapi_ckptpltfrm_raw(); dprintf(D_ALWAYS, "SysAPI: sysapi_ckptpltfrm_raw -> %s\n", qux); qux = sysapi_ckptpltfrm(); dprintf(D_ALWAYS, "SysAPI: sysapi_ckptpltfrm -> %s\n", qux); foo = sysapi_phys_memory_raw(); dprintf(D_ALWAYS, "SysAPI: sysapi_phys_memory_raw() -> %d\n", foo); foo = sysapi_phys_memory(); dprintf(D_ALWAYS, "SysAPI: sysapi_phys_memory() -> %d\n", foo); loo = sysapi_disk_space_raw("/"); dprintf(D_ALWAYS, "SysAPI: sysapi_disk_space_raw() -> %" PRIi64 "\n", loo); loo = sysapi_disk_space("/"); dprintf(D_ALWAYS, "SysAPI: sysapi_disk_space() -> %" PRIi64 "\n", loo); sysapi_ncpus_raw(&foo,NULL); dprintf(D_ALWAYS, "SysAPI: sysapi_ncpus_raw() -> %d\n", foo); sysapi_ncpus_raw(&foo, NULL); dprintf(D_ALWAYS, "SysAPI: sysapi_ncpus() -> %d\n", foo); foo = sysapi_mips_raw(); dprintf(D_ALWAYS, "SysAPI: sysapi_mips_raw() -> %d\n", foo); foo = sysapi_mips(); dprintf(D_ALWAYS, "SysAPI: sysapi_mips() -> %d\n", foo); foo = sysapi_kflops_raw(); dprintf(D_ALWAYS, "SysAPI: sysapi_kflops_raw() -> %d\n", foo); foo = sysapi_kflops(); dprintf(D_ALWAYS, "SysAPI: sysapi_kflops() -> %d\n", foo); sysapi_idle_time_raw(&t0, &t1); dprintf(D_ALWAYS,"SysAPI: sysapi_idle_time_raw() -> (%f,%f)\n",(float)t0,(float)t1); sysapi_idle_time(&t0, &t1); dprintf(D_ALWAYS, "SysAPI: sysapi_idle_time() -> (%f,%f)\n", (float)t0, (float)t1); bar = sysapi_load_avg_raw(); dprintf(D_ALWAYS, "SysAPI: sysapi_load_avg_raw() -> %f\n", bar); bar = sysapi_load_avg(); dprintf(D_ALWAYS, "SysAPI: sysapi_load_avg() -> %f\n", bar); qux = sysapi_condor_arch(); dprintf(D_ALWAYS, "SysAPI: sysapi_condor_arch -> %s\n", qux); qux = sysapi_uname_arch(); dprintf(D_ALWAYS, "SysAPI: sysapi_uname_arch -> %s\n", qux); qux = sysapi_opsys(); dprintf(D_ALWAYS, "SysAPI: sysapi_opsys -> %s\n", qux); foo = sysapi_swap_space_raw(); dprintf(D_ALWAYS, "SysAPI: sysapi_swap_space_raw() -> %d\n", foo); foo = sysapi_swap_space(); dprintf(D_ALWAYS, "SysAPI: sysapi_swap_space() -> %d\n", foo); }
void MachAttributes::compute( amask_t how_much ) { // the startd doesn't normally call the init() method (bug?), // it just starts calling compute, so in order to gurantee that // init happens, we put check here to see if user settings have been initialized if ( ! m_user_settings_init) init_user_settings(); if( IS_STATIC(how_much) && IS_SHARED(how_much) ) { // Since we need real values for them as soon as a // MachAttributes object is instantiated, we handle number // of CPUs and physical memory in the constructor, not // here. -Derek Wright 2/5/99 // Arch, OpSys, FileSystemDomain and UidDomain. Note: // these will always return something, since config() will // insert values if we don't have them in the config file. if( m_arch ) { free( m_arch ); } m_arch = param( "ARCH" ); if( m_opsys ) { free( m_opsys ); } m_opsys = param( "OPSYS" ); m_opsysver = param_integer( "OPSYSVER", 0 ); if( m_opsys_and_ver ) { free( m_opsys_and_ver ); } m_opsys_and_ver = param( "OPSYSANDVER" ); m_opsys_major_ver = param_integer( "OPSYSMAJORVER", 0 ); if( m_opsys_name ) { free( m_opsys_name ); } m_opsys_name = param( "OPSYSNAME" ); if( m_opsys_long_name ) { free( m_opsys_long_name ); } m_opsys_long_name = param( "OPSYSLONGNAME" ); if( m_opsys_short_name ) { free( m_opsys_short_name ); } m_opsys_short_name = param( "OPSYSSHORTNAME" ); if( m_opsys_legacy ) { free( m_opsys_legacy ); } m_opsys_legacy = param( "OPSYSLEGACY" ); // temporary attributes for raw utsname info if( m_utsname_sysname ) { free( m_utsname_sysname ); } if( m_utsname_nodename ) { free( m_utsname_nodename ); } if( m_utsname_release ) { free( m_utsname_release ); } if( m_utsname_version ) { free( m_utsname_version ); } if( m_utsname_machine ) { free( m_utsname_machine ); } m_utsname_sysname = param( "UTSNAME_SYSNAME" ); m_utsname_nodename = param( "UTSNAME_NODENAME" ); m_utsname_release = param( "UTSNAME_RELEASE" ); m_utsname_version = param( "UTSNAME_VERSION" ); m_utsname_machine = param( "UTSNAME_MACHINE" ); if( m_uid_domain ) { free( m_uid_domain ); } m_uid_domain = param( "UID_DOMAIN" ); dprintf( D_FULLDEBUG, "%s = \"%s\"\n", ATTR_UID_DOMAIN, m_uid_domain ); if( m_filesystem_domain ) { free( m_filesystem_domain ); } m_filesystem_domain = param( "FILESYSTEM_DOMAIN" ); dprintf( D_FULLDEBUG, "%s = \"%s\"\n", ATTR_FILE_SYSTEM_DOMAIN, m_filesystem_domain ); m_idle_interval = param_integer( "IDLE_INTERVAL", -1 ); // checkpoint platform signature if (m_ckptpltfrm) { free(m_ckptpltfrm); } const char * ckptpltfrm = param( ATTR_CHECKPOINT_PLATFORM ); if( ckptpltfrm == NULL ) { ckptpltfrm = sysapi_ckptpltfrm(); } m_ckptpltfrm = strdup( ckptpltfrm ); pair_strings_vector root_dirs = root_dir_list(); std::stringstream result; unsigned int chroot_count = 0; for (pair_strings_vector::const_iterator it=root_dirs.begin(); it != root_dirs.end(); ++it, ++chroot_count) { if (chroot_count) { result << ", "; } result << it->first; } if (chroot_count > 1) { std::string result_str = result.str(); dprintf(D_FULLDEBUG, "Named chroots: %s\n", result_str.c_str() ); m_named_chroot = result_str; } } if( IS_UPDATE(how_much) && IS_SHARED(how_much) ) { m_virt_mem = sysapi_swap_space(); dprintf( D_FULLDEBUG, "Swap space: %lu\n", m_virt_mem ); #if defined(WIN32) credd_test(); #endif } if( IS_TIMEOUT(how_much) && IS_SHARED(how_much) ) { m_load = sysapi_load_avg(); sysapi_idle_time( &m_idle, &m_console_idle ); time_t my_timer; struct tm *the_time; time( &my_timer ); the_time = localtime(&my_timer); m_clock_min = (the_time->tm_hour * 60) + the_time->tm_min; m_clock_day = the_time->tm_wday; if (m_last_keypress < my_timer - m_idle) { if (m_idle_interval >= 0) { int duration = my_timer - m_last_keypress; if (duration > m_idle_interval) { if (m_seen_keypress) { dprintf(D_IDLE, "end idle interval of %d sec.\n", duration); } else { dprintf(D_IDLE, "first keyboard event %d sec. after startup\n", duration); } } } m_last_keypress = my_timer; m_seen_keypress = true; } #ifdef WIN32 update_all_WinPerf_results(); #endif AttribValue *pav = NULL; m_lst_dynamic.Rewind(); while ((pav = m_lst_dynamic.Next()) ) { if (pav) { #ifdef WIN32 if ( ! update_WinPerf_Value(pav)) pav->vtype = AttribValue_DataType_Max; // undefined vtype #else if (pav->pquery) { // insert code to update pav from pav->pquery } #endif } } } if( IS_TIMEOUT(how_much) && IS_SUMMED(how_much) ) { m_condor_load = resmgr->sum( &Resource::condor_load ); if( m_condor_load > m_load ) { m_condor_load = m_load; } } }