Developer-Related Features

Debug Console

A debug console may be activated by pressing Ctrl+Alt+C (or Ctrl+Option+C on Macs) within an Echo application. This console will display all messages logged by calls to Core.Debug.consoleWrite().

This feature is available only in the RemoteClient, i.e, when running a server-side Java Echo application. Client-side JavaScript applications may enable a console by replacing the default Core.Debug.consoleWrite() implementation (note that this should not be done by modifying the Core.js file itself, but rather by assigning a new implementation in your own code), for (a very annoying) example:

Core.Debug.consoleWrite = function(text) { alert(text); };

Server-Client Synchronization Performance Monitoring

When the debug console is enabled, the client-server synchronization system will automatically print performance data to the console. This information will be of the form:

lib:17 ser:52 rem:6 up:211 disp:31 TOT:317ms

All times are in milliseconds. The value abbreviations are as follows:

  • lib: the time to load and install any new libraries.
  • ser: the time to deserialize the XML synchronization message from the server.
  • rem: the time to render the disposal/removal of components from the screen.
  • up: the time to render updates to the screen..
  • disp: the time spent invoking renderDisplay().
  • TOT: the total synchronization time.

Printing Synchronization Messages

All synchronization messages can be printed to the Java console by enabling the echo.syncdump JVM system property to true. This will result in some performance degradation. This system property can be enabled when starting a JVM by modifying the java command-line as follows:

java -Decho.syncdump=true