boanovadigital / text20

Automatically exported from code.google.com/p/text20
0 stars 0 forks source link

Investigate Startup Times #42

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago

Especially Diagnosis and Plugin appear to have a higher than necessary startup 
time, maybe due to network lookups. Check why they take so long to initialize 
and fix that. 

Original issue reported on code.google.com by r.biedert on 8 Feb 2011 at 10:10

GoogleCodeExporter commented 8 years ago
In Firefox 4 plugin startup time appears to be normal (e.g., when using :mouse: 
~1-2 seconds), while in Safari 5 and Chrome 9 the times are much longer (~5 
seconds).

Original comment by r.biedert on 14 Feb 2011 at 12:14

GoogleCodeExporter commented 8 years ago
Diagnosis startup time is caused by lookups for the EEG device. After 
re-enabling it in the tracking server, the startup time went back to normal 
again.

Original comment by r.biedert on 28 Mar 2011 at 5:36

GoogleCodeExporter commented 8 years ago
Example trace for the individual plugin startup times. Time to load all plugins 
is ~800 ms, a majority of the time appears go into the actual startup of the 
applet. Given that there appear to be no low-hanging solutions, I think we can 
postpose this issue to a later point ...

1301499700812 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.services.system.security.impl.PrivilegedExecut
orImpl }
1301499700871 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.services.system.security.impl.PrivilegedExecut
orImpl }
1301499700874 PluginManagerTracer add/start { 
url:classpath://net.xeoh.plugins.remote.impl.lipermi.RemoteAPIImpl }
1301499700885 PluginManagerTracer add/end { 
url:classpath://net.xeoh.plugins.remote.impl.lipermi.RemoteAPIImpl }
1301499700886 PluginManagerTracer add/start { 
url:classpath://net.xeoh.plugins.remotediscovery.impl.v4.RemoteDiscoveryImpl }
1301499701117 PluginManagerTracer add/end { 
url:classpath://net.xeoh.plugins.remotediscovery.impl.v4.RemoteDiscoveryImpl }
1301499701167 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.services.trackingdevices.eyes.impl.mouse.Mouse
TrackingDeviceProviderImpl }
1301499701175 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.services.trackingdevices.eyes.impl.mouse.Mouse
TrackingDeviceProviderImpl }
1301499701178 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.services.trackingdevices.eyes.impl.trackingser
ver.TrackingServerDeviceProviderImpl }
1301499701205 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.services.trackingdevices.eyes.impl.trackingser
ver.TrackingServerDeviceProviderImpl }
1301499701209 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.services.trackingdevices.brain.impl.braintrack
ingserver.BrainTrackingServerDeviceProviderImpl }
1301499701224 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.services.trackingdevices.brain.impl.braintrack
ingserver.BrainTrackingServerDeviceProviderImpl }
1301499701228 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.services.pseudorenderer.impl.PseudorendererMan
agerImpl }
1301499701231 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.services.pseudorenderer.impl.PseudorendererMan
agerImpl }
1301499701235 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.services.evaluators.gaze.impl.GazeEvaluatorMan
agerImpl }
1301499701253 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.services.evaluators.gaze.impl.GazeEvaluatorMan
agerImpl }
1301499701259 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.browserplugin.services.persistentpreferences.i
mpl.PersistentPreferencesImpl }
1301499701267 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.browserplugin.services.persistentpreferences.i
mpl.PersistentPreferencesImpl }
1301499701270 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.browserplugin.services.sessionrecorder.impl.xs
tream.SessionRecorderManagerImpl }
1301499701278 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.browserplugin.services.sessionrecorder.impl.xs
tream.SessionRecorderManagerImpl }
1301499701285 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.browserplugin.services.mastergazehandler.impl.
MasterGazeHandlerManagerImpl }
1301499701290 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.browserplugin.services.mastergazehandler.impl.
MasterGazeHandlerManagerImpl }
1301499701294 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.browserplugin.services.pagemanager.impl.PageMa
nagerManagerImpl }
1301499701306 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.browserplugin.services.pagemanager.impl.PageMa
nagerManagerImpl }
1301499701310 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.browserplugin.services.devicemanager.impl.Trac
kingDeviceManagerImpl }
1301499701318 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.browserplugin.services.devicemanager.impl.Trac
kingDeviceManagerImpl }
1301499701321 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.browserplugin.services.extensionmanager.impl.E
xtensionManagerImpl }
1301499701329 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.browserplugin.services.extensionmanager.impl.E
xtensionManagerImpl }
1301499701331 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.qc.diagnosticoverlay.
DiagnosticOverlayExtension }
1301499701374 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.qc.diagnosticoverlay.
DiagnosticOverlayExtension }
1301499701376 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.services.evaluators.gaze.impl.handler.fixation
.v1.FixationHandlerFactory }
1301499701395 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.services.evaluators.gaze.impl.handler.fixation
.v1.FixationHandlerFactory }
1301499701396 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.services.evaluators.gaze.impl.handler.perusal.
v4.PerusalHandlerFactory }
1301499701404 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.services.evaluators.gaze.impl.handler.perusal.
v4.PerusalHandlerFactory }
1301499701406 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.services.evaluators.gaze.impl.handler.raw.v1.R
awHandlerFactory }
1301499701414 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.services.evaluators.gaze.impl.handler.raw.v1.R
awHandlerFactory }
1301499701415 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.services.evaluators.gaze.impl.handler.saccade.
v1.SaccadeHandlerFactory }
1301499701422 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.services.evaluators.gaze.impl.handler.saccade.
v1.SaccadeHandlerFactory }
1301499701423 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.services.evaluators.gaze.impl.handler.weaksacc
ade.v2.WeakSaccadeHandlerFactory }
1301499701429 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.services.evaluators.gaze.impl.handler.weaksacc
ade.v2.WeakSaccadeHandlerFactory }
1301499701429 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.qc.diagnosticoverlay.
DiagnosticOverlayExtension }
1301499701446 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.qc.diagnosticoverlay.
DiagnosticOverlayExtension }
1301499701448 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.misc.discovery.Discov
eryExtension }
1301499701452 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.misc.discovery.Discov
eryExtension }
1301499701455 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.misc.backgroundservic
es.BackgroundServicesExtension }
1301499701478 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.misc.backgroundservic
es.BackgroundServicesExtension }
1301499701483 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.misc.hacks.VariousHac
ksExtension }
1301499701504 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.misc.hacks.VariousHac
ksExtension }
1301499701529 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.qc.sessionrecorder.Se
ssionRecorderExtensions }
1301499701548 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.qc.sessionrecorder.Se
ssionRecorderExtensions }
1301499701549 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.userio.speech.SpeechI
OExtension }
1301499701561 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.userio.speech.SpeechI
OExtension }
1301499701563 PluginManagerTracer add/start { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.userio.brainz.BrainTr
ackingExtension }
1301499701581 PluginManagerTracer add/end { 
url:classpath://de.dfki.km.text20.browserplugin.extensions.userio.brainz.BrainTr
ackingExtension }
1301499701582 PluginManagerTracer add/start { 
url:classpath://net.xeoh.plugins.meta.updatecheck.impl.UpdateCheckImpl }
1301499701606 PluginManagerTracer add/end { 
url:classpath://net.xeoh.plugins.meta.updatecheck.impl.UpdateCheckImpl }
1301499702154 PluginManagerTracer add/start { 
url:file:///Users/rb/Documents/Eclipse%20Workspace%20Mac%20OS/Text%202.0%20Brows
er%20Plugin/examples/extensions/yodeling.jar }
1301499702232 PluginManagerTracer add/end { 
url:file:///Users/rb/Documents/Eclipse%20Workspace%20Mac%20OS/Text%202.0%20Brows
er%20Plugin/examples/extensions/yodeling.jar }

Original comment by r.biedert on 30 Mar 2011 at 4:30

GoogleCodeExporter commented 8 years ago
I further investigated the start-up times and located the top 10 hotspots.
Following list shows the diagnosis events and their relativ start up times in 
milliseconds. 

31  PluginManagerTracer add/start   url=classpath://net.xeoh.plugins.remote.impl.li
permi.RemoteAPIImpl
10120   PluginManagerTracer get/start   plugin=net.xeoh.plugins.base.PluginConfigura
tion

11115   PluginManagerTracer get/end return=de.dfki.km.text20.services.trackingdevi
ces.eyes.impl.trackingserver.TrackingServerDeviceProviderImpl@5ee04fd
16665   PluginManagerTracer get/start   plugin=de.dfki.km.text20.services.trackingde
vices.eyes.EyeTrackingDeviceProvider

17259   BrowserPluginTracer updatedocumentviewport/call point=java.awt.Point[x=0,y
=0]
22589   BrowserPluginTracer executejsfunction/start args=-0.6809206388384923,277.9
946042641835:function=_weakSaccadeListener

33970   BrowserPluginTracer executejsfunction/call/async/executor
37700   BrowserPluginTracer executejsfunction/start args=FIXATION_END,17,324,durat
ion=3730,meanderivation=1:function=_fixationListener

26592   BrowserPluginTracer callfunction/end    rval=null
29168   BrowserPluginTracer executejsfunction/start args=FIXATION_END,352,449,dura
tion=3895,meanderivation=3:function=_fixationListener

39923   BrowserPluginTracer executejsfunction/end   
41403   SpawnerTracer   callshutdown/method method=init

25274   BrowserPluginTracer executejsfunction/call/async/executor
26592   BrowserPluginTracer callfunction/start  function=mouseClicked('0','0');

23909   BrowserPluginTracer executejsfunction/call/async/executor
25119   BrowserPluginTracer executejsfunction/start args=FIXATION_END,288,309,dura
tion=1211,meanderivation=1:function=_fixationListener

32050   BrowserPluginTracer executejsfunction/call/async/executor
33059   BrowserPluginTracer executejsfunction/start args=-1.2263959247520995,97.73
944955850733:function=_weakSaccadeListener

30269   BrowserPluginTracer stop/call   
31273   BrowserPluginTracer destroy/call

Original comment by arman.va...@gmail.com on 3 Apr 2011 at 1:15

GoogleCodeExporter commented 8 years ago
Hmm, after fixing my local build/merge bug and testing the newest browserplugin 
version I couldn't find any  immediate hotspots running Simple Test.html.

Everything is up and running withing ~5s after applet loading. :)

Original comment by arman.va...@gmail.com on 4 Apr 2011 at 1:57