@@ -738,25 +738,25 @@ class DbCollector extends AbstractStatsCollector {
738738 protected void runInContext () {
739739 logger .debug (String .format ("%s is running..." , this .getClass ().getSimpleName ()));
740740
741- try {
742- long lastUptime = (dbStats .containsKey (uptime ) ? (Long ) dbStats .get (uptime ) : 0 );
743- long lastQueries = (dbStats .containsKey (queries ) ? (Long ) dbStats .get (queries ) : 0 );
744- getDynamicDataFromDB ();
745- long interval = (Long ) dbStats .get (uptime ) - lastUptime ;
746- long activity = (Long ) dbStats .get (queries ) - lastQueries ;
747- loadHistory .add (0 , Double .valueOf (activity / interval ));
748- int maxsize = DATABASE_SERVER_LOAD_HISTORY_RETENTION_NUMBER .value ();
749- while (loadHistory .size () > maxsize ) {
750- loadHistory .remove (maxsize - 1 );
751- }
752- } catch (Throwable e ) {
753- // pokemon catch to make sure the thread stays running
754- logger .error ("db statistics collection failed due to " + e .getLocalizedMessage ());
755- if (logger .isDebugEnabled ()) {
756- logger .debug ("db statistics collection failed." , e );
757- }
758- }
759- }
741+ try {
742+ long lastUptime = (dbStats .containsKey (uptime ) ? (Long ) dbStats .get (uptime ) : 0 );
743+ long lastQueries = (dbStats .containsKey (queries ) ? (Long ) dbStats .get (queries ) : 0 );
744+ getDynamicDataFromDB ();
745+ long interval = (Long ) dbStats .get (uptime ) - lastUptime ;
746+ long activity = (Long ) dbStats .get (queries ) - lastQueries ;
747+ loadHistory .add (0 , interval == 0 ? - 1 : Double .valueOf (activity / interval ));
748+ int maxsize = DATABASE_SERVER_LOAD_HISTORY_RETENTION_NUMBER .value ();
749+ while (loadHistory .size () > maxsize ) {
750+ loadHistory .remove (maxsize );
751+ }
752+ } catch (Throwable e ) {
753+ // pokemon catch to make sure the thread stays running
754+ logger .error ("db statistics collection failed due to " + e .getLocalizedMessage ());
755+ if (logger .isDebugEnabled ()) {
756+ logger .debug ("db statistics collection failed." , e );
757+ }
758+ }
759+ }
760760
761761 private void getDynamicDataFromDB () {
762762 Map <String , String > stats = DbUtil .getDbInfo ("STATUS" , queries , uptime );
0 commit comments