incubator-wave-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yuri Zelikov" <vega...@gmail.com>
Subject Re: Review Request 22776: Profiling.
Date Thu, 19 Jun 2014 19:03:13 GMT


> On June 19, 2014, 6:46 p.m., Yuri Zelikov wrote:
> > Hi Andrew
> > Thanks again for your contributions!
> > I am going over your patch now, but it looks like there's a compilation issue: 
> > compile:
> >      [echo] Compiling box
> >     [javac] Compiling 338 source files to /Users/vega/wave/build/src
> >     [javac] /Users/vega/wave/src/org/waveprotocol/box/server/rpc/ServerRpcProvider.java:56:
error: cannot find symbol
> >     [javac] import org.eclipse.jetty.server.nio.SelectChannelConnector;
> >     [javac]                                    ^
> >     [javac]   symbol:   class SelectChannelConnector
> >     [javac]   location: package org.eclipse.jetty.server.nio
> >     [javac] Note: Some input files use or override a deprecated API.
> >     [javac] Note: Recompile with -Xlint:deprecation for details.
> >     [javac] 1 error

I removed this import and then got the following error:
compile-gwt:
     [java] Compiling module org.waveprotocol.box.webclient.WebClientProd
     [java]    Validating units:
     [java]       Ignored 16 units with compilation errors in first pass.
     [java] Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.
     [java]    Computing all possible rebind results for 'com.google.gwt.useragent.client.UserAgentAsserter'
     [java]       Rebinding com.google.gwt.useragent.client.UserAgentAsserter
     [java]          Checking rule <generate-with class='com.google.gwt.validation.rebind.ValidatorGenerator'/>
     [java]             [WARN] Detected warnings related to 'javax.validation.Validator'.
  Are validation-api-<version>.jar and validation-api-<version>-sources.jar on
the classpath?
     [java]             Specify -logLevel DEBUG to see all errors.
     [java]             [WARN] Unknown type 'javax.validation.Validator' specified in deferred
binding rule
     [java]    [ERROR] Errors in 'file:/Users/vega/wave/src/org/waveprotocol/wave/client/scheduler/BrowserBackedScheduler.java'
     [java]       [ERROR] Line 281: The method getSimpleName() is undefined for the type Class<capture#1-of
? extends Scheduler.Schedulable>
     [java]    [ERROR] Errors in 'file:/Users/vega/wave/src/org/waveprotocol/box/stat/StatRecorder.java'
     [java]       [ERROR] Line 34: Syntax error on token "<", ? expected after this token
     [java]    [ERROR] Errors in 'file:/Users/vega/wave/src/org/waveprotocol/box/stat/StatRenderer.java'
     [java]       [ERROR] Line 147: The method compare(int, int) is undefined for the type
Integer
     [java]    [ERROR] Errors in 'file:/Users/vega/wave/src/org/waveprotocol/box/stat/StatStore.java'
     [java]       [ERROR] Line 41: Syntax error on token "<", ? expected after this token
     [java]       [ERROR] Line 42: Syntax error on token "<", ? expected after this token
     [java]       [ERROR] Line 69: Type mismatch: cannot convert from LinkedList<?>
to LinkedList<Pair<String,Measurement>>
     [java]       [ERROR] Line 69: Cannot instantiate the type LinkedList<?>
     [java]       [ERROR] Line 69: Syntax error on token "<", ? expected after this token


- Yuri


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22776/#review46213
-----------------------------------------------------------


On June 19, 2014, 1:27 p.m., Andrew Kaplanov wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/22776/
> -----------------------------------------------------------
> 
> (Updated June 19, 2014, 1:27 p.m.)
> 
> 
> Review request for wave and Yuri Zelikov.
> 
> 
> Repository: wave
> 
> 
> Description
> -------
> 
> Wiab profiling.
> 
> The basis of profiling code was taken from the Splash project (https://code.google.com/p/google-wave-splash/).
> 
> Features appended to Splash profiling code:
>  1. Current authentification session context.
>  2. Cross-thread profiling (one request is executed in several threads simultaneously).
>  3. Client-side profiling.
>  4. GWT profiling.
>  5. Loading of scope through static object (instead of custom Guice scope).
>  6. Profiling popup dialog.
> 
> Server code changes:
>  1. Used only own-designed RequestScopeExecutor and ScheduledRequestScopeExecutor, transferring
profiling context to the executed task.
>  2. Profiling context is set in following places:
>   - RequestScopeFilter - for Servlet requests
>   - WebSocketChannel - for WebSocket requests
> 
> Client code changes:
>  1. Added GWT profiling:
>   - Added handling of event.__gwtStatsEvent
>   - Added own listener, as defined in https://code.google.com/p/gwt-debug-panel/wiki/GettingStarted.
>  2. Used only own-designed custom executor BrowserBackedScheduler, transferring profiling
context to the executed task.
>  3. Profiling context is set in following places:
>   - Keyboard events - FocusManager.dispatch
>   - Mouse events - EventDispatcherPanel.ChangeHandlers.dispatch
>   - Client RPC requests - RemoteWaveViewService
> 
> Statistics recorded on the server:
>  1. Accumulated statistics for task calls for current session and whole program:
>   - Methods of objects, created by Guice Inject, and annotated as @Timed.
>   - Code from Timing.start() or Timing.startRequest() to Timer.stop().
>  2. Statistics for last 100 requests with execution tree for current session and whole
program:
>   - Code from Timing.startRequest() to Timer.stop().
>  3. Statistics for static fields, annotated as @Stat.
> 
> Statistics recorded on the client:
>  1. Accumulated statistics for task calls:
>   - Code from Timing.start() or Timing.startRequest() to Timer.stop().
>  2. Statistics for last 100 requests with execution tree:
>   - Code from Timing.startRequest() to Timer.stop().
> 
> How to display statistics:
>  1. In order to show profiling dialog in the client, press and release one-by-one Ctrl,
Alt and Ctrl keys.
>  2. To show only server statistics go to URL <wave_server_url>/speedz.
> 
> 
> Diffs
> -----
> 
>   README.profiling PRE-CREATION 
>   build.xml 83b2040 
>   server-config.xml 4f1d94f 
>   src/org/waveprotocol/box/server/CoreSettings.java 5b3fd0c 
>   src/org/waveprotocol/box/server/ServerMain.java 31b6d8c 
>   src/org/waveprotocol/box/server/ServerModule.java 029f40f 
>   src/org/waveprotocol/box/server/StatModule.java PRE-CREATION 
>   src/org/waveprotocol/box/server/authentication/SessionManager.java 097fd28 
>   src/org/waveprotocol/box/server/executor/ExecutorAnnotations.java PRE-CREATION 
>   src/org/waveprotocol/box/server/executor/ExecutorsModule.java PRE-CREATION 
>   src/org/waveprotocol/box/server/executor/RequestScopeExecutor.java PRE-CREATION 
>   src/org/waveprotocol/box/server/executor/ScheduledRequestScopeExecutor.java PRE-CREATION

>   src/org/waveprotocol/box/server/gxp/WaveClientPage.gxp a27f35f 
>   src/org/waveprotocol/box/server/persistence/file/FileDeltaStore.java 46b00bf 
>   src/org/waveprotocol/box/server/rpc/SearchServlet.java 89c0f42 
>   src/org/waveprotocol/box/server/rpc/ServerRpcProvider.java 6332174 
>   src/org/waveprotocol/box/server/rpc/WebSocketChannel.java a7d2579 
>   src/org/waveprotocol/box/server/stat/MultiThreadedRequestScope.java PRE-CREATION 
>   src/org/waveprotocol/box/server/stat/RequestScopeFilter.java PRE-CREATION 
>   src/org/waveprotocol/box/server/stat/StatuszServlet.java PRE-CREATION 
>   src/org/waveprotocol/box/server/stat/TimingFilter.java PRE-CREATION 
>   src/org/waveprotocol/box/server/stat/TimingInterceptor.java PRE-CREATION 
>   src/org/waveprotocol/box/server/waveserver/LookupExecutor.java 07479a5 
>   src/org/waveprotocol/box/server/waveserver/LucenePerUserWaveViewHandlerImpl.java effb5b5

>   src/org/waveprotocol/box/server/waveserver/WaveMap.java d9e01c6 
>   src/org/waveprotocol/box/server/waveserver/WaveServerImpl.java ecfbbb3 
>   src/org/waveprotocol/box/server/waveserver/WaveServerModule.java e26dcfc 
>   src/org/waveprotocol/box/stat/AsyncCallContext.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/ExecutionNode.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/ExecutionTree.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/Measurement.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/RequestScope.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/SessionContext.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/SingleThreadedRequestScope.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/Stat.gwt.xml PRE-CREATION 
>   src/org/waveprotocol/box/stat/Stat.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/StatRecorder.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/StatRenderer.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/StatService.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/StatStore.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/Statistic.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/Timed.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/Timer.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/Timing.java PRE-CREATION 
>   src/org/waveprotocol/box/stat/TimingReceiver.java PRE-CREATION 
>   src/org/waveprotocol/box/webclient/WebClient.gwt.xml 63516ac 
>   src/org/waveprotocol/box/webclient/WebClientProd.gwt.xml 6c6e8d5 
>   src/org/waveprotocol/box/webclient/client/RemoteWaveViewService.java 923c481 
>   src/org/waveprotocol/box/webclient/client/WaveWebSocketClient.java 92e3fd8 
>   src/org/waveprotocol/box/webclient/client/WebClient.java c012ee6 
>   src/org/waveprotocol/box/webclient/stat/Stat.gwt.xml PRE-CREATION 
>   src/org/waveprotocol/box/webclient/stat/dialog/StatDialog.java PRE-CREATION 
>   src/org/waveprotocol/box/webclient/stat/gwtevent/GwtStatisticsEvent.java PRE-CREATION

>   src/org/waveprotocol/box/webclient/stat/gwtevent/GwtStatisticsEventDispatcher.java
PRE-CREATION 
>   src/org/waveprotocol/box/webclient/stat/gwtevent/GwtStatisticsEventSystem.java PRE-CREATION

>   src/org/waveprotocol/box/webclient/stat/gwtevent/GwtStatisticsHandler.java PRE-CREATION

>   src/org/waveprotocol/box/webclient/stat/gwtevent/StatisticsEvent.java PRE-CREATION

>   src/org/waveprotocol/box/webclient/stat/gwtevent/StatisticsEventDispatcher.java PRE-CREATION

>   src/org/waveprotocol/box/webclient/stat/gwtevent/StatisticsEventListener.java PRE-CREATION

>   src/org/waveprotocol/box/webclient/stat/gwtevent/StatisticsEventSystem.java PRE-CREATION

>   src/org/waveprotocol/wave/client/Stages.java 52ade26 
>   src/org/waveprotocol/wave/client/scheduler/BrowserBackedScheduler.java 6cc57e6 
>   src/org/waveprotocol/wave/client/scheduler/TaskInfo.java 23c3f97 
>   src/org/waveprotocol/wave/client/wavepanel/event/EventDispatcherPanel.java cb0822a

>   src/org/waveprotocol/wave/client/wavepanel/event/FocusManager.java 461a3ce 
>   src/org/waveprotocol/wave/client/wavepanel/view/dom/full/WavePanelResourceLoader.java
2f16cb2 
>   src/org/waveprotocol/wave/client/widget/dialog/Dialog.css PRE-CREATION 
>   src/org/waveprotocol/wave/client/widget/dialog/Dialog.gwt.xml PRE-CREATION 
>   src/org/waveprotocol/wave/client/widget/dialog/Dialog.java PRE-CREATION 
>   src/org/waveprotocol/wave/client/widget/dialog/DialogBox.java PRE-CREATION 
>   test/org/waveprotocol/box/server/rpc/RpcTest.java 689d5c6 
>   test/org/waveprotocol/box/server/waveserver/LucenePerUserWaveViewProviderTest.java
b4d02e4 
> 
> Diff: https://reviews.apache.org/r/22776/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Andrew Kaplanov
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message