]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
CCAR: add a trace in beginService and endService even in no debug mode to give cpu...
authorcaremoli <caremoli>
Mon, 21 Sep 2009 17:23:14 +0000 (17:23 +0000)
committercaremoli <caremoli>
Mon, 21 Sep 2009 17:23:14 +0000 (17:23 +0000)
src/Container/Component_i.cxx
src/Utils/Utils_SALOME_Exception.hxx

index 6ea4dff99a2c4ae18413468bbea7f6a7cca11d26..75d053454499afe618212654b454c3fb69acfbd8 100644 (file)
@@ -629,6 +629,7 @@ void Engines_Component_i::beginService(const char *serviceName)
   MESSAGE(pthread_self().p << "Send BeginService notification for " <<serviceName
           << endl << "Component instance : " << _instanceName << endl << endl);
 #endif
+  std::cerr << "beginService for " << serviceName << " Component instance : " << _instanceName << std::endl;
 #ifndef WIN32
   _ThreadId = pthread_self() ;
 #else
@@ -698,6 +699,9 @@ void Engines_Component_i::endService(const char *serviceName)
   if ( !_CanceledThread )
     _ThreadCpuUsed = CpuUsed_impl() ;
 
+  float cpus=_ThreadCpuUsed/1000.;
+  std::cerr << "endService for " << serviceName << " Component instance : " << _instanceName ;
+  std::cerr << " Cpu Used: " << cpus << " (s) " << std::endl;
 #ifndef WIN32
   MESSAGE(pthread_self() << " Send EndService notification for " << serviceName
           << endl << " Component instance : " << _instanceName << " StartUsed "
@@ -829,7 +833,10 @@ long Engines_Component_i::CpuUsed()
           perror("Engines_Component_i::CpuUsed") ;
           return 0 ;
         }
-      cpu = usage.ru_utime.tv_sec - _StartUsed ;
+      //cpu time is calculated in millisecond (user+system times)
+      cpu = usage.ru_utime.tv_sec*1000 +usage.ru_utime.tv_usec/1000;
+      cpu = cpu+ usage.ru_stime.tv_sec*1000 +usage.ru_stime.tv_usec/1000;
+      cpu=cpu-_StartUsed ;
       // cout << pthread_self() << " Engines_Component_i::CpuUsed " << " "
       //      << _serviceName   << usage.ru_utime.tv_sec << " - " << _StartUsed
       //      << " = " << cpu << endl ;
index f1caac7589bf3edd72b453ce2415968c5206f805..75554924b8dc73b01892492e82abedff625b5ec0 100644 (file)
@@ -74,7 +74,7 @@ protected :
 public :
        SALOME_Exception( const char *text, const char *fileName=0, const unsigned int lineNumber=0 );
        SALOME_Exception( const SALOME_Exception &ex );
-       ~SALOME_Exception() throw ();
+       virtual ~SALOME_Exception() throw ();
        friend std::ostream & operator<<( std::ostream &os , const SALOME_Exception &ex );
        virtual const char *what( void ) const throw () ;
 } ;