तुम भी Perf4J कोशिश कर सकते हैं। जो भी आप खोज रहे हैं, उसका एक साफ तरीका है, और एक निश्चित समय अवधि के दौरान औसत, न्यूनतम, अधिकतम, मानक विचलन और प्रति सेकंड लेनदेन जैसे समेकित प्रदर्शन आंकड़ों में सहायता करता है। http://perf4j.codehaus.org/devguide.html से एक उद्धरण:
StopWatch stopWatch = new LoggingStopWatch();
try {
// the code block being timed - this is just a dummy example
long sleepTime = (long)(Math.random() * 1000L);
Thread.sleep(sleepTime);
if (sleepTime > 500L) {
throw new Exception("Throwing exception");
}
stopWatch.stop("codeBlock2.success", "Sleep time was < 500 ms");
} catch (Exception e) {
stopWatch.stop("codeBlock2.failure", "Exception was: " + e);
}
आउटपुट:
INFO: start[1230493236109] time[447] tag[codeBlock2.success] message[Sleep time was < 500 ms]
INFO: start[1230493236719] time[567] tag[codeBlock2.failure] message[Exception was: java.lang.Exception: Throwing exception]
INFO: start[1230493237286] time[986] tag[codeBlock2.failure] message[Exception was: java.lang.Exception: Throwing exception]
INFO: start[1230493238273] time[194] tag[codeBlock2.success] message[Sleep time was < 500 ms]
INFO: start[1230493238467] time[463] tag[codeBlock2.success] message[Sleep time was < 500 ms]
INFO: start[1230493238930] time[310] tag[codeBlock2.success] message[Sleep time was < 500 ms]
INFO: start[1230493239241] time[610] tag[codeBlock2.failure] message[Exception was: java.lang.Exception: Throwing exception]
INFO: start[1230493239852] time[84] tag[codeBlock2.success] message[Sleep time was < 500 ms]
INFO: start[1230493239937] time[30] tag[codeBlock2.success] message[Sleep time was < 500 ms]
INFO: start[1230493239968] time[852] tag[codeBlock2.failure] message[Exception was: java.lang.Exception: Throwing exception]
यह वास्तव में नैनो समय होना चाहिए वास्तव में – Eugene
नैनोटाइम नहीं होना चाहिए। रुहू का जवाब देखें। – fabspro
क्या कोई विशेष कारण है कि आपने यहां "अंतिम" उपयोग किया है? यदि आपने उस कीवर्ड को छोड़ दिया तो क्या अलग होगा? – dijxtra