IceRealm
Navigation
Miscellaneous
External Links

Dream Runtime Analyzer

Dream Runtime Analyzer Screenshot

Overview

This tool (or rather, toolset) was made to help Furcadia DreamWeavers to test their dreams for bandwidth usage and optimize their DragonSpeak. It records various performance information on the dream using a Furcadia character and helps the dream owner find out which lines were executed the most, as well as their location within the DragonSpeak file.

Analyzer was based off of tools that were used to analyze the Lake Resort dream of Dragon's Eye Productions, and help them vastly improve its performance through this information.

Dream Runtime Analyzer provides the following features:

Requirements

.NET Framework:2.0 or later
Detected:None

This project utilizes the .NET Framework and thus, that's what you need to run the program.

If an up-to-date version of the framework was detected above (displayed in green), you don't really need anything else and can simply run the program to use it.

If the version is no up to date and is marked in red (or several were detected, but none of them is suitable - green), you might have to update it before you can run the program. Same if no versions were detected (although it isn't always true).

If you are using Windows XP with Service Pack 3, or Windows Vista or later, you might already have the framework installed! If you aren't sure, you can always run the program and see if it successfully runs or gives you an error.

Please note that .NET Framework is huge! Downloading it for the sole purpose of running this application might not be the best idea, so if you really don't have it yet, but know someone who most likely does, you could try asking the person to run it isntead.

You can download the Redistributable packages from the following links at Microsoft:

Download

Latest version:1.0.2 Download (83KB) (MD5: e959581a07f4ba35db910ed987d0ebdc)
Source code:analyzer-1.0.2.zip Download (63KB)
Older versions: 1.0.1 (09-Sep-2009)
1.0.0 (08-Sep-2009)

The source code was created with Microsoft Visual C# 2008 (Express Edition).

How to use

1. Click the Capture button to start capturing data

Click Capture

2. Prepare your capture session

Capture settings

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:

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.

3. Examine the results

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:

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:

DS Inspector

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".