void function ( String [ ] arg0 ) { new JvmPauseMonitor ( new Configuration ( ) ) . start ( ) ; List < String > loc0 = Lists . newArrayList ( ) ; int loc1 = 0 ; while ( true ) { loc0 . add ( String . valueOf ( loc1 ++ ) ) ; } }
simple ` main ' to facilitate manual testing of the pause monitor . this main function just leaks memory into a list . running this class with a 1gb heap will very quickly go into `` gc hell '' and result in log messages about the gc pauses . concode_field_sep Thread monitorThread concode_elem_sep long gcTimeMillis concode_elem_sep long gcCount concode_elem_sep long infoThresholdMs concode_elem_sep long INFO_THRESHOLD_DEFAULT concode_elem_sep String WARN_THRESHOLD_KEY concode_elem_sep String INFO_THRESHOLD_KEY concode_elem_sep long numGcWarnThresholdExceeded concode_elem_sep long numGcInfoThresholdExceeded concode_elem_sep long warnThresholdMs concode_elem_sep long totalGcExtraSleepTime concode_elem_sep boolean shouldRun concode_elem_sep long SLEEP_INTERVAL_MS concode_elem_sep Logger LOG concode_elem_sep long WARN_THRESHOLD_DEFAULT concode_field_sep String formatMessage concode_elem_sep long getNumGcWarnThreadholdExceeded concode_elem_sep void stop concode_elem_sep GcTimes subtract concode_elem_sep void start concode_elem_sep long getTotalGcExtraSleepTime concode_elem_sep void run concode_elem_sep String toString concode_elem_sep boolean isStarted concode_elem_sep Map<String,GcTimes> getGcTimes concode_elem_sep void incrementMetricsCounter concode_elem_sep long getNumGcInfoThresholdExceeded