This view will be used to display live and history data about all remote services.
To be able to see and activate the view inside the console, you must include our patch library into your project.
Please refer to Remote services debugging note for more information
View description
The view contains the following elements:
- A list of all instances of known services, ie services that has been created:
- HTTPServices
- SOAP Operations
- RemoteObject Operations
- The name will be either the name of the service if it has one (HTTPServices have no names, except in a Cairngorm context where they are registered), like Operation names
- Double click on the number column to toggle a breakpoint for this service. The next time this particular service will be called (send() method), you will enter the debugger, provided that you are already in debug mode
- As in history views, this list is always sorted with most recent service called displayed at the top. In this way it is easier to know what are the last services called.
- When a service is called, the corresponding service count number will glow briefly, and the item will be moved at the top of list.
- The first column also indicates if all runs has been successful or not: if its color is green, then all calls have been OK, and if the color is red, then at least one call has failed.
- Another list will all runs (run instances) of the selected service reference
- Items are sorted in natural order of appearance
- Select an run to display its stacktrace
- Select an run to inspect its body
- If the send() has succeded, then inspector will display result data, as well as input parameters of the call (request, parameters, headers). The firt column will be green
- If the send() has failed, then inspector will display fault data, and the first column of the grid will be red
- The second column is the query duplicate indicator. See below for more information about query duplicates.
- The stackstrace for every history item, which allows to find out the starting point for the selected run in your source code
- An introspection tree to drill-down into recorded data associated with the runs
Query Duplicate Finder
If you have already struggled with MVC applications and remote commands, you may already have remarked that it is not always easy to keep remote queries optimized.
One frequent problem, is that some queries are performed several times with the same parameters, and return the same results. This may be absolutely normal - refreshing a view for instance - but it may also be unwanted and sub-optimal, depending on your application.
So, we designed a way to help developers finding the duplicates in their remote queries.
For this, each time a remote operation is runned, the framework will
- compare its parameters (depending on the actual service type) with previous runs of the same service.
- if the parameters appear to be the same as ones already encountered, then a "duplicate number" is generated (actually a global sequence number)
- the duplicate number is attribued to all runs that share the same parameters.
- a unique color code is also generated and set onto all duplicate runs
So, the first time that a unique set of parameters is runned over a given service, its duplicate number will be set to zero. This actually means "no duplicates for this run"
If, later on, the same set of parameters is used for another run of this service, then a duplicate will be detected, and a new duplicate number will be generated and applied to both runs.
Visually, the effect will be that the column labeled '=' in the runs datagrid will take both a color and a value different from zero. The colors will further help you to visualize run duplicates.
More over, if they are at least two duplicates run for a given service, then in the reference grid, the count for this service will be displayed in white and bold text.
When you'll see it, you'll recognize it