Revision: 8519
Author: [email protected]
Date: Wed Aug 11 07:24:43 2010
Log: 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: [email protected]
http://code.google.com/p/google-web-toolkit/source/detail?r=8519
Modified:
/trunk/dev/core/src/com/google/gwt/dev/DevModeBase.java
/trunk/dev/core/src/com/google/gwt/dev/javac/CompilationState.java
/trunk/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
/trunk/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java
/trunk/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java
/trunk/dev/core/src/com/google/gwt/dev/shell/ModuleSpaceOOPHM.java
/trunk/dev/core/src/com/google/gwt/dev/shell/OophmSessionHandler.java
/trunk/dev/core/src/com/google/gwt/dev/shell/StandardRebindOracle.java
/trunk/dev/core/src/com/google/gwt/dev/shell/rewrite/HostedModeClassRewriter.java
/trunk/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java
/trunk/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/DevModeBase.java Fri Aug 6
12:01:02 2010
+++ /trunk/dev/core/src/com/google/gwt/dev/DevModeBase.java Wed Aug 11
07:24:43 2010
@@ -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 {
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/javac/CompilationState.java Fri
Aug 6 12:01:02 2010
+++ /trunk/dev/core/src/com/google/gwt/dev/javac/CompilationState.java Wed
Aug 11 07:24:43 2010
@@ -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);
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java Fri Aug
6 12:01:02 2010
+++ /trunk/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java Wed Aug
11 07:24:43 2010
@@ -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;
}
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java
Fri Aug 6 12:01:02 2010
+++ /trunk/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java
Wed Aug 11 07:24:43 2010
@@ -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;
}
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java Tue Aug
10 05:38:02 2010
+++ /trunk/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java Wed Aug
11 07:24:43 2010
@@ -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) {
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/shell/ModuleSpaceOOPHM.java Fri
Aug 6 12:01:02 2010
+++ /trunk/dev/core/src/com/google/gwt/dev/shell/ModuleSpaceOOPHM.java Wed
Aug 11 07:24:43 2010
@@ -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();
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/shell/OophmSessionHandler.java
Fri Aug 6 12:01:02 2010
+++ /trunk/dev/core/src/com/google/gwt/dev/shell/OophmSessionHandler.java
Wed Aug 11 07:24:43 2010
@@ -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();
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/shell/StandardRebindOracle.java
Fri Aug 6 12:01:02 2010
+++ /trunk/dev/core/src/com/google/gwt/dev/shell/StandardRebindOracle.java
Wed Aug 11 07:24:43 2010
@@ -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);
=======================================
---
/trunk/dev/core/src/com/google/gwt/dev/shell/rewrite/HostedModeClassRewriter.java
Fri Aug 6 12:01:02 2010
+++
/trunk/dev/core/src/com/google/gwt/dev/shell/rewrite/HostedModeClassRewriter.java
Wed Aug 11 07:24:43 2010
@@ -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));
=======================================
---
/trunk/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java
Fri Aug 6 12:01:02 2010
+++
/trunk/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java
Wed Aug 11 07:24:43 2010
@@ -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"), //
=======================================
---
/trunk/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java
Wed Aug 4 12:18:06 2010
+++
/trunk/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java
Wed Aug 11 07:24:43 2010
@@ -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;
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors