X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.utils%2Fsrc%2Forg%2Fsimantics%2Futils%2Flogging%2FTimeLogger.java;fp=bundles%2Forg.simantics.utils%2Fsrc%2Forg%2Fsimantics%2Futils%2Flogging%2FTimeLogger.java;h=b457e43418fe282998eebb6cdbce75cd71588092;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.utils/src/org/simantics/utils/logging/TimeLogger.java b/bundles/org.simantics.utils/src/org/simantics/utils/logging/TimeLogger.java new file mode 100644 index 000000000..b457e4341 --- /dev/null +++ b/bundles/org.simantics.utils/src/org/simantics/utils/logging/TimeLogger.java @@ -0,0 +1,53 @@ +package org.simantics.utils.logging; + +import java.text.DecimalFormat; +import java.text.NumberFormat; + +public class TimeLogger { + public static final boolean TIME_LOGGING_ENABLED = false; + + private static final NumberFormat TIME_FORMAT = new DecimalFormat("0.000"); + + private static long BEGIN_TIME = System.nanoTime(); + + private static void printCurrentTime() { + double time = (System.nanoTime() - BEGIN_TIME) * 1e-9; + System.out.print("["); + System.out.print(TIME_FORMAT.format(time)); + System.out.print(" s] "); + } + + public static void resetTimeAndLog(String message) { + if(TIME_LOGGING_ENABLED) { + BEGIN_TIME = System.nanoTime(); + printCurrentTime(); + System.out.print(message); + System.out.print(" "); + for(int i=0;i<140-message.length();++i) + System.out.print("="); + System.out.println(); + } + } + + public static void resetTimeAndLog(Class clazz, String method) { + if(TIME_LOGGING_ENABLED) + resetTimeAndLog(clazz.getSimpleName() + "." + method); + } + + public static void resetTime() { + if(TIME_LOGGING_ENABLED) + BEGIN_TIME = System.nanoTime(); + } + + public static void log(String message) { + if(TIME_LOGGING_ENABLED) { + printCurrentTime(); + System.out.println(message); + } + } + + public static void log(Class clazz, String method) { + if(TIME_LOGGING_ENABLED) + log(clazz.getSimpleName() + "." + method); + } +}