Net Panel Remoting
This page is summarizing support for remote HTTP monitoring in Firebug.
- Net Panel Architecture Review
- Remote Debugging Protocol (part of JSD2 effort)
- Firefox Source (includes support for remote debugging protocol)
Working prototype shows the [Net panel] connected to remote Firefox instance. The user can select an existing tab opened on the remote browser and monitor HTTP traffic.
- Build Firefox from this repository. It contains basic support for the client/server communication. It's made over TCP/IP and uses . The result Firefox build must be used for both client and server instances.
- Create a new Firefox profile that represents the server side. You need to install RemoteActor extension into the profile. This extension implements Firebug back-end for the Net panel (HTTP Observer). Source: http://code.google.com/p/fbug/source/browse/#svn%2Fextensions%2Fremoteactor
- You can also install a Firebug Tracing Console - [FBTrace] to see what's happening on the server. This is recommended. Download the latest version from: http://getfirebug.com/releases/fbtrace/1.8/
- Create another Firefox profile that represents the client side. You need to install following extensions:
- Firebug 1.8: download source from: http://code.google.com/p/fbug/source/browse/branches/firebug1.8
- RemoteBug: Firebug extension that represents the client side, download source from: http://code.google.com/p/fbug/source/browse/#svn%2Fextensions%2Fremotebug
See how to install extensions from source.
- You should also install the Firebug Tracing Console on the client side. Use the same XPI as for the server.
- The client side needs to specify the server name/port info. It's stored in preferences, see the default values:
pref("extensions.firebug.remotebug.serverHost", "localhost"); pref("extensions.firebug.remotebug.serverPort", 2929);
- Run both the server and client Firefox instances. Here is an example of arguments for your command line:
firefox -P server -no-remote -console firefox -P client -no-remote -console
Even if there is FBTrace console the system console is still useful too.
The prototype is in very early stage so, the existing UI is created just for testing. The final UI will be different.
- Open some tabs on the Server
- Open Firebug UI (F12) on the client. Firebug has a new button in the toolbar. It can say Connect Me! if the client is not connected (connects automatically) otherwise Select Remote URL to pick tab opened on the server.
- Select a tab, button label should display the title of the selected tab.
- Select the Net panel, enable. You can press the Clear button if the Net panel was enabled and there are some local HTTP traffic displayed.
- Refresh the selected tab on the server.
In order to see/filter logs on the server and client you should use following options in the FBTrace console.
- Server: ERRORS, ACTIVITYOBSEVER, NETACTOR, NET_EVENTS
- Client: ERRORS, ACTIVITYOBSEVER, REMOTEBUG, REMOTENETMONITOR