Annotate the SpeedTracer log data with some extra info. Also, remove some unused event types and fiddle with the colors to make DevMode traces a bit more readable. Review at http://gwt-code-reviews.appspot.com/753801 Review by: zundel@google.com git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@8519 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/DevModeBase.java b/dev/core/src/com/google/gwt/dev/DevModeBase.java index b8f3f75..cdec046 100644 --- a/dev/core/src/com/google/gwt/dev/DevModeBase.java +++ b/dev/core/src/com/google/gwt/dev/DevModeBase.java
@@ -91,7 +91,7 @@ public ModuleSpaceHost createModuleSpaceHost(ModuleHandle module, String moduleName) throws UnableToCompleteException { Event moduleSpaceHostCreateEvent = - SpeedTracerLogger.start(DevModeEventType.MODULE_SPACE_HOST_CREATE); + SpeedTracerLogger.start(DevModeEventType.MODULE_SPACE_HOST_CREATE, "Module Name", moduleName); // TODO(jat): add support for closing an active module TreeLogger logger = module.getLogger(); try {
diff --git a/dev/core/src/com/google/gwt/dev/javac/CompilationState.java b/dev/core/src/com/google/gwt/dev/javac/CompilationState.java index 9747eef..f0437ef 100644 --- a/dev/core/src/com/google/gwt/dev/javac/CompilationState.java +++ b/dev/core/src/com/google/gwt/dev/javac/CompilationState.java
@@ -84,11 +84,13 @@ public void addGeneratedCompilationUnits(TreeLogger logger, Collection<GeneratedUnit> generatedUnits) { - Event generatedUnitsAddEvent = SpeedTracerLogger.start(DevModeEventType.GENERATED_UNITS_ADD); + Event generatedUnitsAddEvent = SpeedTracerLogger.start( + DevModeEventType.GENERATED_UNITS_ADD); try { logger = logger.branch(TreeLogger.DEBUG, "Adding '" + generatedUnits.size() + "' new generated units"); + generatedUnitsAddEvent.addData("# new generated units", "" + generatedUnits.size()); Collection<CompilationUnit> newUnits = compileMoreLater.addGeneratedTypes( logger, generatedUnits); assimilateUnits(logger, newUnits);
diff --git a/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java b/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java index 106ffde..9020b00 100644 --- a/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java +++ b/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
@@ -503,7 +503,7 @@ compilerImpl = new CompilerImpl(); compilerImpl.compile(icus.toArray(new ICompilationUnit[icus.size()])); compilerImpl = null; - jdtCompilerEvent.end(); + jdtCompilerEvent.end("# icus", "" + icus.size()); lazyContentIdMap = null; return true; }
diff --git a/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java b/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java index ec79ee4..328fe17 100644 --- a/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java +++ b/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java
@@ -56,7 +56,6 @@ import com.google.gwt.dev.util.Name; import com.google.gwt.dev.util.Name.InternalName; import com.google.gwt.dev.util.log.speedtracer.CompilerEventType; -import com.google.gwt.dev.util.log.speedtracer.DevModeEventType; import com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger; import com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger.Event; @@ -296,7 +295,10 @@ public void addNewUnits(TreeLogger logger, Collection<CompilationUnit> units) { Event typeOracleMediatorEvent = SpeedTracerLogger.start(CompilerEventType.TYPE_ORACLE_MEDIATOR); + // First collect all class data. + Event visitClassFileEvent = SpeedTracerLogger.start( + CompilerEventType.TYPE_ORACLE_MEDIATOR, "phase", "Visit Class Files"); classMap = new HashMap<String, CollectClassData>(); for (CompilationUnit unit : units) { if (!unit.isCompiled()) { @@ -312,7 +314,10 @@ } } } + visitClassFileEvent.end(); + Event identityEvent = SpeedTracerLogger.start( + CompilerEventType.TYPE_ORACLE_MEDIATOR, "phase", "Establish Identity"); // Perform a shallow pass to establish identity for new and old types. classMapType = new HashMap<JRealClassType, CollectClassData>(); allMethodArgs = new MethodArgNamesLookup(); @@ -337,7 +342,9 @@ } } } + identityEvent.end(); + Event resolveEnclosingEvent = SpeedTracerLogger.start(CompilerEventType.TYPE_ORACLE_MEDIATOR, "phase", "Resolve Enclosing Classes"); // Hook up enclosing types TreeLogger branch = logger.branch(TreeLogger.SPAM, "Resolving enclosing classes"); @@ -348,7 +355,9 @@ it.remove(); } } + resolveEnclosingEvent.end(); + Event resolveUnresolvedEvent = SpeedTracerLogger.start(CompilerEventType.TYPE_ORACLE_MEDIATOR, "phase", "Resolve Unresolved Types"); // Resolve unresolved types. for (JRealClassType type : unresolvedTypes) { branch = logger.branch(TreeLogger.SPAM, "Resolving " @@ -358,8 +367,11 @@ // TODO: should we do anything else here? } } + resolveUnresolvedEvent.end(); + Event finishEvent = SpeedTracerLogger.start(CompilerEventType.TYPE_ORACLE_MEDIATOR, "phase", "Finish"); typeOracle.finish(); + finishEvent.end(); // no longer needed allMethodArgs = null; @@ -548,8 +560,6 @@ * creating JRealClassType/JGenericType objects. */ private CollectClassData processClass(CompiledClass compiledClass) { - Event visitClassFileEvent = SpeedTracerLogger.start(DevModeEventType.VISIT_CLASS_FILE); - byte[] classBytes = compiledClass.getBytes(); ClassReader reader = new ClassReader(classBytes); CollectClassData mcv = new CollectClassData(); @@ -558,8 +568,6 @@ cv = new TraceClassVisitor(cv, new PrintWriter(System.out)); } reader.accept(cv, 0); - - visitClassFileEvent.end(); return mcv; }
diff --git a/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java b/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java index e8e1dac..792dc5d 100644 --- a/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java +++ b/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java
@@ -318,7 +318,7 @@ * Runs the module's user startup code. */ public final void onLoad(TreeLogger logger) throws UnableToCompleteException { - Event moduleSpaceLoad = SpeedTracerLogger.start(DevModeEventType.MODULE_SPACE_LOAD); + Event moduleSpaceLoadEvent = SpeedTracerLogger.start(DevModeEventType.MODULE_SPACE_LOAD); // Tell the host we're ready for business. // @@ -434,7 +434,7 @@ logger.log(TreeLogger.ERROR, unableToLoadMessage, caught); throw new UnableToCompleteException(); } finally { - moduleSpaceLoad.end(); + moduleSpaceLoadEvent.end(); } } @@ -453,6 +453,8 @@ // String sourceName = BinaryName.toSourceName(requestedClassName); resultName = rebind(sourceName); + moduleSpaceRebindAndCreate.addData( + "Requested Class", requestedClassName, "Result Name", resultName); Class<?> resolvedClass = loadClassFromSourceName(resultName); if (Modifier.isAbstract(resolvedClass.getModifiers())) { msg = "Deferred binding result type '" + resultName @@ -634,7 +636,8 @@ */ private Class<?> loadClassFromSourceName(String sourceName) throws ClassNotFoundException { - Event moduleSpaceClassLoad = SpeedTracerLogger.start(DevModeEventType.MODULE_SPACE_CLASS_LOAD); + Event moduleSpaceClassLoad = SpeedTracerLogger.start( + DevModeEventType.MODULE_SPACE_CLASS_LOAD, "Source Name", sourceName); try { String toTry = sourceName; while (true) {
diff --git a/dev/core/src/com/google/gwt/dev/shell/ModuleSpaceOOPHM.java b/dev/core/src/com/google/gwt/dev/shell/ModuleSpaceOOPHM.java index 84560bd..7d4f75a 100644 --- a/dev/core/src/com/google/gwt/dev/shell/ModuleSpaceOOPHM.java +++ b/dev/core/src/com/google/gwt/dev/shell/ModuleSpaceOOPHM.java
@@ -105,7 +105,8 @@ Object[] args) throws Throwable { TreeLogger branch = host.getLogger().branch(TreeLogger.SPAM, "Invoke native method " + name, null); - Event javaToJsCallEvent = SpeedTracerLogger.start(DevModeEventType.JAVA_TO_JS_CALL); + Event javaToJsCallEvent = + SpeedTracerLogger.start(DevModeEventType.JAVA_TO_JS_CALL); CompilingClassLoader isolatedClassLoader = getIsolatedClassLoader(); JsValueOOPHM jsthis = new JsValueOOPHM();
diff --git a/dev/core/src/com/google/gwt/dev/shell/OophmSessionHandler.java b/dev/core/src/com/google/gwt/dev/shell/OophmSessionHandler.java index 8eef148..746b902 100644 --- a/dev/core/src/com/google/gwt/dev/shell/OophmSessionHandler.java +++ b/dev/core/src/com/google/gwt/dev/shell/OophmSessionHandler.java
@@ -169,7 +169,7 @@ public synchronized TreeLogger loadModule(BrowserChannelServer channel, String moduleName, String userAgent, String url, String tabKey, String sessionKey, byte[] userAgentIcon) { - Event moduleInit = SpeedTracerLogger.start(DevModeEventType.MODULE_INIT); + Event moduleInit = SpeedTracerLogger.start(DevModeEventType.MODULE_INIT, "Module Name", moduleName); ModuleHandle moduleHandle = host.createModuleLogger(moduleName, userAgent, url, tabKey, sessionKey, channel, userAgentIcon); TreeLogger logger = moduleHandle.getLogger();
diff --git a/dev/core/src/com/google/gwt/dev/shell/StandardRebindOracle.java b/dev/core/src/com/google/gwt/dev/shell/StandardRebindOracle.java index 03b5059..23ee903 100644 --- a/dev/core/src/com/google/gwt/dev/shell/StandardRebindOracle.java +++ b/dev/core/src/com/google/gwt/dev/shell/StandardRebindOracle.java
@@ -52,7 +52,7 @@ public String rebind(TreeLogger logger, String typeName, ArtifactAcceptor artifactAcceptor) throws UnableToCompleteException { - Event rebindEvent = SpeedTracerLogger.start(DevModeEventType.REBIND); + Event rebindEvent = SpeedTracerLogger.start(DevModeEventType.REBIND, "Type Name", typeName); try { genCtx.setPropertyOracle(propOracle); String result = tryRebind(logger, typeName);
diff --git a/dev/core/src/com/google/gwt/dev/shell/rewrite/HostedModeClassRewriter.java b/dev/core/src/com/google/gwt/dev/shell/rewrite/HostedModeClassRewriter.java index f85ba0a..cfbbd42 100644 --- a/dev/core/src/com/google/gwt/dev/shell/rewrite/HostedModeClassRewriter.java +++ b/dev/core/src/com/google/gwt/dev/shell/rewrite/HostedModeClassRewriter.java
@@ -220,7 +220,8 @@ */ public byte[] rewrite(TypeOracle typeOracle, String className, byte[] classBytes, Map<String, String> anonymousClassMap) { - Event classBytesRewriteEvent = SpeedTracerLogger.start(DevModeEventType.CLASS_BYTES_REWRITE); + Event classBytesRewriteEvent = + SpeedTracerLogger.start(DevModeEventType.CLASS_BYTES_REWRITE, "Class Name", className); String desc = toDescriptor(className); assert (!jsoIntfDescs.contains(desc));
diff --git a/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java b/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java index eb66b10..b6c0476 100644 --- a/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java +++ b/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java
@@ -28,7 +28,7 @@ JJS_COMPILE_PERMUTATION("JjsCompilePermutation", "Moccasin"), // DRAFT_OPTIMIZE("DraftOptimizer", "Blue"), // GENERATOR("Generator", "Red"), // - JDT_COMPILER("JdtCompiler", "FireBrick"), // + JDT_COMPILER("JdtCompiler", "Tomato"), // LINK("Link", "LawnGreen"), // MAKE_SOYC_ARTIFACTS("MakeSoycArtifacts", "Chartreuse"), // MODULE_DEF("ModuleDef", "BlueViolet"), //
diff --git a/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java b/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java index 81f04eb..cb4b380 100644 --- a/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java +++ b/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java
@@ -27,27 +27,19 @@ "Teal"), // CREATE_UI("Create UI", "BlueViolet"), // GENERATED_UNITS_ADD("Generated units add", "Brown"), // - GENERATOR_RUN("Generator run", "Tomato"), // JAVA_TO_JS_CALL("Java to JS call", "LightSkyBlue"), // JETTY_STARTUP("Jetty startup", "Orchid"), // - JS_TO_JAVA_CALL("JS to Java call", "OrangeRed"), // - MODULE_DEF_LOAD("ModuleDef load", "Peru"), // - MODULE_DEF_NORMALIZE("ModuleDef normalize", "DarkKhaki"), // - MODULE_DEF_REFRESH("ModuleDef refresh", "DarkKhaki"), // + JS_TO_JAVA_CALL("JS to Java call", "Orange"), // MODULE_INIT("Module init", "Khaki"), // - MODULE_SPACE_CLASS_LOAD("ModuleSpace class load", "Ivory"), // + MODULE_SPACE_CLASS_LOAD("ModuleSpace class load", "MintCream"), // MODULE_SPACE_HOST_CREATE("ModuleSpaceHost create", "Peachpuff"), // MODULE_SPACE_HOST_READY("ModuleSpaceHost ready", "Linen"), // MODULE_SPACE_LOAD("ModuleSpace load", "LemonChiffon"), // MODULE_SPACE_REBIND_AND_CREATE("ModuleSpace rebindAndCreate", "Crimson"), // ON_MODULE_LOAD("onModuleLoad", "LightGreen"), // - REBIND("Rebind", "Tomato"), // - REBOUND_TYPE_CREATE("Rebound type create", "Crimson"), // - RESOURCE_ORACLE_REFRESH("ResourceOracle refresh", "Orange"), // + REBIND("Rebind", "DarkOrange"), // SLOW_STARTUP("Slow startup", "DarkSeaGreen"), // - STARTUP("Startup", "LimeGreen"), // - TYPE_ORACLE_ADD_NEW_UNITS("TypeOracle add new units", "Magenta"), // - VISIT_CLASS_FILE("Visit class file", "RoyalBlue"); + STARTUP("Startup", "LimeGreen"); final String cssColor; final String name;