Access Keys:
Skip to content (Access Key - 0)

PureMVC Event Flow

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

Related Projects

Top News

Latest Updates: 2012/01/17

Release on:

Need Information?

Why Kap Lab?

Kap Lab exists because in innovation we trust. Enjoy our products and help us to give you the best.

Cyril Daloz
CEO Kap IT

Adaptavist Theme Builder (3.3.5-conf210) Powered by Atlassian Confluence 2.10.3, the Enterprise Wiki.