Exemple #1
0
 def run(self):
     
     # Check if Cassandra is running
     if self.isCassandraRunning():
         myLogger.info( 'An running Cassandra instance is found')
         
         self.startLoggingJmx()
         
         # Runs the external tool Cassandra Stress
         myThread = threading.Thread(target = self.runCassandraStress)
         myThread.start()
         
         # Begins recording JMX Metrics 
         count = 0
         while True:
             time.sleep(self._interval)
             count += 1
             self.logJmx(count)
             
             # Once the stress session has completed stop recording JMX Metrics
             if not myThread.isAlive():
                 break
             
         myLogger.info( 'Finish logging JMX metrics')
         self.stopLoggingJmx()
         
         # Record the metrics back into a Cassandra Table
         CassandraRecord.recordCsv(self._jmxLogFilename, self._host, 'JmxKeyspace', 'JmxRecord')
         
         # Graph the results
         Plotter.plotCsv(self._jmxLogFilename , self._jmxPlotFilename)
         
     else:
         myLogger.error( 'Cassandra instance is not found running')