From: shihyun Date: Mon, 29 Jul 2013 08:19:33 +0000 (+0900) Subject: [Title]Add information for performance X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1822123abfb745de098ffd8e383f8e6bef1460da;p=sdk%2Finstaller%2Finstall-manager.git [Title]Add information for performance --- diff --git a/InstallManager_java/src/org/tizen/installmanager/core/InstallManager.java b/InstallManager_java/src/org/tizen/installmanager/core/InstallManager.java index 68e9565..823b9e4 100644 --- a/InstallManager_java/src/org/tizen/installmanager/core/InstallManager.java +++ b/InstallManager_java/src/org/tizen/installmanager/core/InstallManager.java @@ -711,6 +711,9 @@ public class InstallManager { InstallProgressMonitor monitor) throws IMExitException, IMNetworkException{ Log.log("InstallManager.install() installable packages : " + installablePackages); + //performance measurement + Performance.sdkPackageSize = packageManager.getTotalSizeOfInstallablePackages(installablePackages, true); + if (installablePackages == null || targetDir == null || targetDir.isEmpty()) { Log.err("packaegs => " + installablePackages + ", targetDir => " + targetDir); @@ -719,6 +722,8 @@ public class InstallManager { mConfig.setTargetDir(targetDir); + Performance.setDownloadStartTime(); + // download packages from repository if (downloadPackages(installablePackages, monitor)) { Log.log("Success to download packages from repository."); @@ -740,7 +745,10 @@ public class InstallManager { } } } + + Performance.setDownloadEndTime(); + Performance.setInstallationStartTime(); // save target directory initializeTargetDir(targetDir); @@ -841,6 +849,8 @@ public class InstallManager { ErrorController.setInfoCode(InfoCode.RESTART_THE_COMPUTER); } + Performance.setInstallationEndTime(); + return true; } diff --git a/InstallManager_java/src/org/tizen/installmanager/core/Options.java b/InstallManager_java/src/org/tizen/installmanager/core/Options.java index 004e682..2d5b391 100644 --- a/InstallManager_java/src/org/tizen/installmanager/core/Options.java +++ b/InstallManager_java/src/org/tizen/installmanager/core/Options.java @@ -117,10 +117,8 @@ public class Options { public static boolean printDepGraph = false; /** - * Initialize and exit install-manager for test. - */ - public static boolean doInitTest = false; - + * start installmanager test + */ public static boolean doTest = false; /** @@ -334,8 +332,6 @@ public class Options { Log.err("-distribution requires distribution description"); throw new IMFatalException(OptionConstant.MSG_DISTRIBUTION_NOT_PROVIDED); } - } else if (arg.equals(OptionConstant.OPTION_INIT_TEST)) { - doInitTest = true; } else if (arg.equals(OptionConstant.OPTION_TEST)) { doTest = true; } else if (arg.equals("-removeOldSDK")) { diff --git a/InstallManager_java/src/org/tizen/installmanager/core/Performance.java b/InstallManager_java/src/org/tizen/installmanager/core/Performance.java index b6d9875..1ea8739 100644 --- a/InstallManager_java/src/org/tizen/installmanager/core/Performance.java +++ b/InstallManager_java/src/org/tizen/installmanager/core/Performance.java @@ -11,11 +11,31 @@ import org.tizen.installmanager.lib.Log; import org.tizen.installmanager.util.PathUtil; public class Performance { + //total time private static Date imStartTime = null; private static Date imEndTime = null; + + //initialize time + private static Date initializeStartTime = null; + private static Date initializeEndTime = null; + + //download time + private static Date downloadStartTime = null; + private static Date downloadEndTime = null; + + + //installation time private static Date installationStartTime = null; private static Date installationEndTime = null; + //uninstallation time + private static Date uninstallStartTime = null; + private static Date uninstallEndTime = null; + + //information + public static long sdkPackageSize = 0; + + public static void setIMStartTime() { imStartTime = new Date(); } @@ -24,6 +44,22 @@ public class Performance { imEndTime = new Date(); } + public static void setInitializeStartTime() { + initializeStartTime = new Date(); + } + + public static void setInitializeEndTime() { + initializeEndTime = new Date(); + } + + public static void setDownloadStartTime() { + downloadStartTime = new Date(); + } + + public static void setDownloadEndTime() { + downloadEndTime = new Date(); + } + public static void setInstallationStartTime() { installationStartTime = new Date(); } @@ -32,13 +68,21 @@ public class Performance { installationEndTime = new Date(); } + public static void setUninstallStartTime() { + uninstallStartTime = new Date(); + } + + public static void setUninstallEndTime() { + uninstallEndTime = new Date(); + } + public static void printToLogFile() { Log.log("The installmanager start time : " + imStartTime); Log.log("The installmanager end time : " + imEndTime); Log.log("The installation start time : " + installationStartTime); Log.log("The installation end time : " + installationEndTime); - long progressSecond = getProgressTimeOfInstallation()/1000; + long progressSecond = getInstallationTime()/1000; if (progressSecond >= 0) { Log.log("The progress time of the installation : About " + progressSecond/60 + " minutes" @@ -64,20 +108,27 @@ public class Performance { try { out = new BufferedWriter(new FileWriter(testResultFile)); - out.write("*** InstallManager performance test ***"); + out.write("*** InstallManager performance test ***"); + out.newLine(); + out.write("The initialization time\t: " + getInitializeTime() + "sec"); + out.write("(" + getBitPerSecond(sdkPackageSize, getInitializeTime())+ "b/s)"); out.newLine(); + out.write("The download time\t: " + getDownloadTime() + "sec"); + out.write("(" + getBitPerSecond(sdkPackageSize, getDownloadTime())+ "b/s)"); out.newLine(); - out.write("The installmanager start time\t: " + imStartTime); + out.write("The installation time\t: " + getInstallationTime() + "sec"); + out.write("(" + getBitPerSecond(sdkPackageSize, getInstallationTime())+ "b/s)"); out.newLine(); - out.write("The installmanager end time\t: " + imEndTime); + out.write("The removal time\t: " + getUninstallTime() + "sec"); + out.write("(" + getBitPerSecond(sdkPackageSize, getUninstallTime())+ "b/s)"); out.newLine(); - out.write("The installation start time\t: " + installationStartTime); + out.write("The install-manager start time\t: " + imStartTime); out.newLine(); - out.write("The installation end time\t: " + installationEndTime); + out.write("The install-manager end time\t: " + imEndTime); out.newLine(); out.newLine(); - long progressSecond = getProgressTimeOfInstallation()/1000; + long progressSecond = getTotalTime(); if (progressSecond >= 0) { out.write("* Total time to install : About " + progressSecond/60 + " minutes" @@ -101,12 +152,56 @@ public class Performance { } } - private static long getProgressTimeOfInstallation() { + private static long getInitializeTime() { + if (initializeStartTime == null || initializeEndTime == null) { + return 0; + } + + long interval = (initializeEndTime.getTime() - initializeStartTime.getTime())/1000; + return interval; + } + + private static long getDownloadTime() { + if (downloadStartTime == null || downloadEndTime == null) { + return 0; + } + + long interval = (downloadEndTime.getTime() - downloadStartTime.getTime())/1000; + return interval; + } + + private static long getTotalTime() { + if (imStartTime == null || imEndTime == null) { + return 0; + } + + long interval = (imEndTime.getTime() - imStartTime.getTime())/1000; + return interval; + } + + private static long getInstallationTime() { if (installationStartTime == null || installationEndTime == null) { - return -1; + return 0; } - long interval = installationEndTime.getTime() - installationStartTime.getTime(); + long interval = (installationEndTime.getTime() - installationStartTime.getTime())/1000; return interval; } + + private static long getUninstallTime() { + if (uninstallStartTime == null || uninstallEndTime == null) { + return 0; + } + + long interval = (uninstallEndTime.getTime() - uninstallStartTime.getTime())/1000; + return interval; + } + + private static long getBitPerSecond(long size, long seconds) { + if (seconds == 0) { + return 0; + } else { + return size/seconds; + } + } } diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/InstallManagerWindow.java b/InstallManager_java/src/org/tizen/installmanager/ui/InstallManagerWindow.java index fb743c7..0ce899a 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/InstallManagerWindow.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/InstallManagerWindow.java @@ -170,9 +170,7 @@ public class InstallManagerWindow extends ApplicationWindow { shell.getDisplay().asyncExec(new Runnable(){ public void run() { //initialize installmanager - if (!Options.doInitTest) { - progressbar.updateName("Connecting to package server.\nIt may take a minute..."); - } + progressbar.updateName("Connecting to package server.\nIt may take a minute..."); shell.getDisplay().asyncExec(new Runnable() { public void run() { @@ -182,16 +180,12 @@ public class InstallManagerWindow extends ApplicationWindow { }); //init end - if (!Options.doInitTest) { - progressbar.finish(); - } + progressbar.finish(); } }); if (!shell.isDisposed()) { - if (!Options.doInitTest) { - progressbar.open(); - } + progressbar.open(); } Log.log("Window init end"); @@ -817,7 +811,9 @@ public class InstallManagerWindow extends ApplicationWindow { * @param args */ public static void main(String args[]) { + //performance measurement Performance.setIMStartTime(); + InstallManager.deleteTempFile(); Log.open(); @@ -872,10 +868,6 @@ public class InstallManagerWindow extends ApplicationWindow { window.init(); - if (Options.doInitTest) { - System.exit(0); - } - Log.log("after init"); if (Options.checkPackageUpdate) { checkMetaPackageUpdate(); @@ -928,6 +920,7 @@ public class InstallManagerWindow extends ApplicationWindow { ProgramController.createProgramController().removeSDKTempDir(); } + //performance measurement Performance.setIMEndTime(); Performance.printToLogFile(); diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/ViewController.java b/InstallManager_java/src/org/tizen/installmanager/ui/page/ViewController.java index bde25a0..51e41a6 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/page/ViewController.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/ViewController.java @@ -288,9 +288,7 @@ public class ViewController { * @throws IMExitException */ public boolean install(Collection installList, String targetPath, - InstallProgressMonitor monitor) throws IMExitException { - Performance.setInstallationStartTime(); - + InstallProgressMonitor monitor) throws IMExitException { Log.log("======== Start Installing ========"); Log.log("Selected package list => " + installList); Log.log("target path => " + targetPath); @@ -331,7 +329,6 @@ public class ViewController { PathUtil.remove(Config.getInstance().getDownloadDirPath()); } - Performance.setInstallationEndTime(); return bResult; } @@ -390,25 +387,36 @@ public class ViewController { * @return If uninstallation is succeed, return true. if not return false. * @see ViewController#uninstallPackages(PackageSet, IIMProgressMonitor) */ - public boolean uninstall(List uninstallList, IIMProgressMonitor monitor) { - Performance.setInstallationStartTime(); - + public boolean uninstall(List uninstallList, IIMProgressMonitor monitor) { Log.log("ViewController Uninstall Start => " + uninstallList); + + //performance measurement + Performance.setUninstallStartTime(); if (packageManager == null || uninstallList.size() == 0) { Log.err("ViewController.uninstall() uninstalllist does not exist. => " + uninstallList); ErrorController.setError(ErrorCode.UNKNOWN_ERROR); + + Performance.setUninstallEndTime(); return false; } if (Options.doRemoveOldSDK || (uninstallList.size() == 1 && uninstallList.get(0).equals(Config.SDK_NAME))) { uninstallAll(monitor); - Performance.setInstallationEndTime(); + + //performance measurement + Performance.setUninstallEndTime(); + return true; } else { PackageSet removablePackages = packageManager.getInstalledPackagesByName(uninstallList); + //performance measurement + Performance.sdkPackageSize = packageManager.getTotalSizeOfRemovablePackages(removablePackages); + boolean result = uninstallPackages(removablePackages, monitor); - Performance.setInstallationEndTime(); + + //performance measurement + Performance.setUninstallEndTime(); return result; } }