/************************************************************************ method CompilerTrackingInfo::logCompilerStatusOnInterval Dump the fields of this class out to a file (or to repository) if the tracking compiler interval has expired ************************************************************************/ void CompilerTrackingInfo::logCompilerStatusOnInterval(Int32 intervalLengthMins) { if( intervalExpired(intervalLengthMins) ) { // // this interval is now done/expired endIntervalTime_ = getCurrentTimestamp(); // // get the latest cache stats once per interval if (!CURRENTQCACHE->getCompilationCacheStats(currentQCacheStats_)) { // if query is disabled, clear the cache counters clearQCacheCounters(); } // // log this interval if( NULL != getCompilerTrackingLogFilename() ) { printToFile(); } // // log directly to a private table using dynamic SQL // instead of using the Repository infrastructure to // populate repository table if (CmpCommon::getDefault(COMPILER_TRACKING_LOGTABLE) == DF_ON) { logIntervalInPrivateTable(); } // // This table doesn't exist on Windows, so don't log there // always log to the repository table Int32 rc = logIntervalInRepository(); if (rc) { // raise a warning that compiler process is unable to log // its status and health information to the repository *CmpCommon::diags() << DgSqlCode(2242); } // // since the interval is expired, reset to begin tracking new interval resetInterval(); } }
/************************************************************************ method CompilerTrackingInfo::logCompilerStatusOnInterval Dump the fields of this class out to a file (or to repository) if the tracking compiler interval has expired ************************************************************************/ void CompilerTrackingInfo::logCompilerStatusOnInterval(Int32 intervalLengthMins) { if( intervalExpired(intervalLengthMins) ) { // // this interval is now done/expired endIntervalTime_ = getCurrentTimestamp(); // // get the latest cache stats once per interval if (!CURRENTQCACHE->getCompilationCacheStats(currentQCacheStats_)) { // if query is disabled, clear the cache counters clearQCacheCounters(); } // // log this interval if( NULL != getCompilerTrackingLogFilename() ) { printToFile(); } // // log directly to a private table using dynamic SQL if (CmpCommon::getDefault(COMPILER_TRACKING_LOGTABLE) == DF_ON) { logIntervalInPrivateTable(); } // always log to log4cxx log logIntervalInLog4Cxx(); // since the interval is expired, reset to begin tracking new interval resetInterval(); } }