This project is read-only.

Using Dream Runtime Analyzer (DRA)

Step 1: Click the Capture button to start capturing data


Step 2: Prepare your capture session


In order to begin capturing data, you need to set up a few things. Start with the name and the password of a Furcadia character you want to use for this purpose. You can either type the name and password in the text boxes or click Load... and load this information from one of the INI files.

Once your character information is entered, you may want to adjust some of the settings in step 2. Here is a short overview of each of them:
  • Start capturing data when connected - this will make the tool start capturing information as soon as it successfully logs into Furcadia. This helps if you want to capture the very beginning of your character's connection phase.
  • Stop capturing data after: - this will set a timer after which, the data capture will automatically stop. This can help in collecting more precisely timed data samples without having to overlook the program to make sure you stop it in time. By default, the capture will stop a minute after it was started.
  • Save capture data to disk: - this allows you to save the data you capture to a file of your choice so you can share it with others or reload it later. The format it saves the data in is not raw, but a little different. This allows the reception timestamps to be saved along with the data. You can export the raw data from this file with the Export Raw button in the main window.

Finally, to connect to Furcadia, click the Connect button and observe the status in the status window to the right. After a successful connection, the Start Capture button will be available to you with which you can start and stop your data capture.

In order to get some sort of control over the character, use the Command textbox to type commands such as join Artex or fdl furc://vinca (without the traditional ` prefix).

When you are done capturing data samples, click the OK button in order to return to the main window, which will now contain information about the recently captured data sample.

Step 3: Examine the results


After loading (or capturing) data, your Analyzer window will display certain performance information that it gathered as well as two tables: the "DS Frequency" table and the "Instruction Frequency" table. Each shows how often did it encounter either certain DragonSpeak lines or Furcadia server instructions. DragonSpeak lines you will deal with a little later.

The information displayed in the "Bandwidth" tab is:
  • Capture Title - either a filename or a simple title for the capture data loaded. It holds little significance unless you load a data file with a meaningful name. You can run several instances of the program, afterall!
  • Total Bandwidth - this category and the two below it represent how many bytes were received in total from Furcadia while capturing the data sample, how many of those bytes are related to DragonSpeak and how many are related to the avatar movement. The percentage near the other two show what portion of the total amount of received data does that section represent (i.e. in the sample, DS-related data is almost 63% of total amount of data captured)
  • Average Speed - provided that the program is aware of what time did the data come through (in other words: the data was captured by the program or loaded from a timestamped data format), it can show you the average speed that data came through during the capture period.
  • Longest Instruction - not as useful, but there still: this shows you the length of the longest line we received from the Furcadia server.
  • Capture Time - if the program is aware of the time the data came through, this will display how much time did this data capture session last.
  • Instruction Count - this section counts how many server instructions (or "packets") of different kinds were received and at which rate (if the timing is known).

Step 4: Locate problematic DragonSpeak and fix it.

As a final stage, you would want to examine the DragonSpeak file of the dream and match the lines Analyzer received with the ones in the file. If there are DragonSpeak lines used too frequently, there might be a need to optimize them to improve the dream performance.

In order to do all this, click the Load DS button in the main window and load the DragonSpeak file that corresponds to the dream. This will open the DS Inspector where you should be able to locate the reported lines in your DS file:


The DragonSpeak Inspector window consists of two tables - the smaller one to the left, which displays the DSB line and its freqeuncy. To the right, you will see your DragonSpeak file loaded and divided into single lines. Below it, two numbers: the "Line" number (location within the file) and the "DSB Line" number (the line in the left table that the server gives us).

Clicking one of the lines in the leftmost table should focus on the corresponding line in the DragonSpeak file itself. If you click a line in the DragonSpeak file, you will notice that the program will update the two numbers, letting you know what does that line look like from the server's point of view, as well as what line number within the DragonSpeak file that row occupies.

Please note that the DS Inspector relies on a reasonable DragonSpeak syntax to match between DSB lines and regular ones. If your DS file contains lines with just numbers on them or lines that deviate from the usual syntax, they might cause the Inspector to display inaccurate information! Please take that into account if you do have such DS.

Finally, since DS Inspector does not allow you to actually change your DragonSpeak through it, you can still do it through the regular DragonSpeak editor associated with your DS files. To open that file in the DS editor, simply click on the button saying "Open DragonSpeak File".

Last edited May 13, 2011 at 3:27 PM by Artex, version 2


No comments yet.