This is the first tab of the Console main window:

In this screenshot, we see the following elements:
- On the left side there is the main event list
- On the right side, you will find an object inspector to look inside relevant data of the selected event
- At the bottom, you will find a text area containing the stacktrace for the selected operation
PureMVC Operations
The main list displays the sequence of what we call "PureMVC operations" or events, ie actions that occur within PureMVC, that are generally triggered by the program itself, responding to a user gesture.
The table below provides a description of all PureMVC operations defined in the console, and its relevant data that can be inspected, in alphabetic order:
| Operation name |
Description |
Data |
| Command Registered |
Sent after a new command has been registered into the Controller |
Name of the command (actually the name of the event that triggers it), and the class of the related command |
| Controller Initialized |
Sent after the main Controller has been initialized |
The instance of Controller |
| Dispatch Notification |
Sent just before a Notification is to be dispatched |
The Notification instance itself |
| Execute Command |
Sent just before the call of execute() method on a command objet |
The Notification that triggered the command, and contains command parameters |
| Facade Initialized |
Sent just after a facade has been initialized |
Facade instance |
| Initialize Controller |
Sent just before the main controller is to be initialized |
multiton key, if any |
| Initialize Facade |
Sent just before a facade is to be initialized |
facade instance and multiton key, if any |
| Initialize Model |
Sent just before the Model is to be initialized |
multiton key, if any |
| Initialize View |
Sent just before the View is to be initialized |
multiton key, if any |
| Mediator Registered |
Sent just after a new Mediator has been registerered |
mediator instance |
| Model Initialized |
Sent just after the Model has been initialized |
Model instance |
| Proxy Registered |
Sent just after a new Proxy has been registerered |
Proxy instance |
| View Initialized |
Sent just after the View has been initialized |
View instance |
Analysis of the flow
Received event are numbered from 1 to n. You should also see all initialization events.
If we examine the event list displayed upon startup in the demo application, we can make the following analysis:
- 1,11: Initialization of the framework, Facade, View, Controller, Model.
- 12,13: Startup command, note that we only see registered commands. We cannot see the subcommands of a macro commands, if these subcommands have not been registered
- 14,19: Registration of Proxies and Mediators, triggered by the startupCommand
- 20: Event dispatch to show login panel
- 21: Registration of internal PureMVC Console Mediator
- 22: Notification that employees list has been successfully loaded
By this simple analysis, we have been able to discover all the initialization process of the demo application, knowing what commands has been registered, and what have been the first initialization commands dispatched.
To go further, examine stack traces to discover the starting point in the application source code of all events.
Activity monitoring
When you use the application and its features, you are also able to follow and watch what is happening in real time.
To do so, just move and resize the console so that it leaves you enough room for the application, and leave the event flow tab visible.
Login into the application, and play around with it ; while doing this, you will see that the operation list is refreshing in real time, always displaying the last operation (generally at the end of the list, unless you decided to sort it in another order). In business and typical PureMVC applications, there will likely be dozens of operations recorded in short time, and hundreds or thousands of them after a slight period of use.
In order to facilitate navigation and search, you will use the following tools:
- Event filter: the upper combo allows you to display only operations of a given type. Note that the filters will only display operation names that have occurred at least one time. For example, if no Service fault has ever occurred, you will not see it in the filter combo list.
- Play/pause button: if you pause the console, no new operations will be recorded nor displayed.
- Clear button: deletes all recorded operations, hence freezing retained objects that were referenced by the operations records.
Next >> Proxies