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;