Поместите этот класс где-нибудь в вашем коде:
package your.package.name.common;
import org.apache.log4j.Logger;
import java.util.concurrent.TimeUnit;
public class CProfile {
/**
* Logger for this class
*/
private static final Logger logger = Logger.getLogger(CProfile.class);
public static final int SECONDS_TO_ALERT = 2;
public static void slownessAlert(long startTime, String name) {
long seconds = TimeUnit.SECONDS.convert(System.nanoTime() - startTime, TimeUnit.NANOSECONDS);
if (seconds>SECONDS_TO_ALERT){
logger.warn("slow method detected: "+name+" "+seconds+"s");
}
}
}
Затем используйте этот фрагмент в вашем коде следующим образом:
public void something() {
long startTime = System.nanoTime();
//SOME HEAVY COMPUTATIONS
CProfile.slownessAlert(startTime, "something");
}
Он сообщит вам о медлительности, когда это произойдет (SECONDS_TO_ALERT> 2 с).