View Source

{section}
{column}

h1. Monitoring aspect overview:

The monitoring view part of the Petals Webconsole provides a

technical supervision of the exchanges transited in Petals ESB.

This aspect is implemented by the monitoring tab of the Petals

Webconsole, through it you have access to the following functions:
* Monitoring filter creation.
* Monitoring filter management.
* Detailed vision of exchange using charts and diagrams.
* Detailed overview on each stored exchange.




{column}
\\
{column:width=350px}
{panel}{toc}\\ {panel}\\
{column}\\
{section}

h1. Filter management tab


h3. Filter creation form

This form allows you to create different monitoring filter by playing with the

different form parameters.

!Filter-management-form.png|thumbnail!

The form provides several fields which may allow you to create different

monitoring filter configuration:
* Filter on the endpoint name.
* Filter on the interface name.
* Filter on the service name.
* Filter on the operation name.

  

Each previous parameter may not be used, in this case null value is assigned to the parameter

For example if you define a filter with _null_/_null_/_null_/_null_ value for _endpoint_/_service_/_interface_/_operation_

parameters, upon activation of this filter all exchanges will be monitored by this filter.

!Filter-example.png|thumbnail!

(!) *Warning*: pay very attention with this king of filter, because monitoring all message exchanges

can seriously affect the _speed_, _performance_ and _overload_ on the Petals node where the filter is

activated.

Another important form parameter is the _storage checkbox_ which allows you to declare a filter *to*

*archive* each message exchange caught.


h3. Filter management table

This useful table allows you as this name mean to manage each declared filter. Each of them is

represented by a table row, which display several informations on the current filter:

!filter-table.png|thumbnail!


Displayed informations are partly the same as those that you served in the monitoring creation filter form:
* Endpoint name.
* Interface name.
* Service name.
* Operation name.
* Stored exchange value



Other informations displayed is the current server _where is declared_ the monitoring filter, and the _monitoring_

_state_ of the filter +enable/disabled+, alterable by the following icons:

!Icon-legend.png|thumbnail!

You can click on each icons to switch the current filter state, for example:

If a filter is disabled click on !Enabled-monitoring-icon.png|thumbnail! icon +to active+ current filter on the associated

server, after that the monitoring enabled state icon will be displayed !disabled-monitoring-icon.png|thumbnail!.

Finally, the following icon{color:#005151}:{color} !Delete-monitoring-filter.png|thumbnail! allows you +to delete+ the current filter, if is enabled

on the associated server it's *firstly disabled* and then delete, instead if is

disabled it is directly delete from the monitoring filter table.

  

Two buttons are available on the top of filter table, the first button: !export.png|thumbnail!

allows you to _export_ all filters of the list into CSV file. Example is displayed bellow:

{csv:delimiter=;}"Endpoint";"Interface";"Operation";"Service";"Storage";"Server";"State";"Change state";"Delete"
"edpt-945EBEF356D7737C3E228882447520291";"{http://petals.ow2.org}Clock";"{http://petals.ow2.org}printTime";"{http://petals.ow2.org}ClockService";"true";"0";"Enabled";"Enabled";"Delete"
"endpointPojo";"{http://petals.ow2.org/}Pojo";"null";"{http://petals.ow2.org/}servicePojo";"false";"0";"Disabled";"Disabled";"Delete"{csv}
The second button: !import.png|thumbnail! allows you to _import_ a previous

  

exported filter list. All filter will be in state with which they were imported.

  

+Several examples:+

* If filter-1 already exsist and is disabled on server but, it is enabled in csv file,
it will be *enabled* at the end of csv importation file.
 
* If filter-2 already exsist and is enabled on server but, it is disabled in csv file,
it will be *disabled* at the end of csv importation file.
 
* If filter-3 don't exsist on current server and it is enabled in csv file,
it will be *enabled* at the end of csv importation file.
 
* If filter-4 don't exsist on current server and it is disabled in csv file,
it will be *disabled* at the end of csv importation file.


{info:title=Container owner for monitoring filter}\\

Take attention, during an importation process only monitoring filters declared for the current container will be imported.

For example if you try to import on container "0" a monitoring filter declared for container "1", the importation process don't import it.

The container owner is the sixth column parameter, the title of column is "Server".
{info}






h1. Monitored filters tab


h3. Monitored exchange filter

In this tab an table displays all message exchange *caught* by each declared filter on the current server.

Each row represent a declared filter and displays its linked informations like:
* Endpoint name.
* Interface name.
* Service name.
* Operation name.
* Storage value.

  

!Monitored-filters-table.png|thumbnail!
(i) *Information*: Each row own the following icon !Details-icon.png|thumbnail! that allows you display more informations, on the current monitoring
filter.

  

Many different informations are displayed like the number of monitored exchange for the filter, message exchanges

*caught* by the current filter.
!Monitored-exchange-table.png|thumbnail!

  

The following form allows to set _starting_/_ending_ dates, in order to define a +time range+ where

the displayed exchanges will *match* the defined range.

!Time-range-form.png|thumbnail!

  

The table which display message exchanges consists of three columns. The first

shows the *message exchange id* beginning with _petals:uid:_, the second column

correspond to the *message exchange pattern* and finally the last column contain

the following icon !More-details-icon.png|thumbnail!, which will server to show you the *detailed view* of each

message exchange (a _king_ of overview).

  

(on) *Idea*: another useful point in each monitoring filter row is the following icon !Chart-icon.png|thumbnail!, which allows

to display charts and diagrams representing exchange flows, exchange status, exchange

number ... of the current filter.

h3. Charts & diagrams view

When you click on the !Chart-icon.png|thumbnail! icon a page linked to the current filter is displayed, in the top

of the page a form allows you to modify the +window duration+ and the +total duration+ of the

current monitoring view (_int_ value representing _second_ value).
!Top-chart-page2.png|thumbnail!

  

The first displayed chart present the different status of message exchanges +caught+ by the

current filter:
!First-chart.png|thumbnail!
(i) *Information*: You can spend on each chart part to know the _percentage_ of the associated status,

this feature can be useful to report to you if the service +correctly processes+ message exchanges.

  

The diagram located on the bottom of the chart monitoring view page, present the _exchanges flows_

_by an number exchange average_ for a specified time scale:

!Bottom-chart-monitoring-page.png|thumbnail!

Four curves are displayed thank to this diagram:
* A blue curve that represent message exchanges with done status.
* A green curve that represent message exchanges with active status.
* A yellow curve that represent message exchanges in error status.
* A red curve that represent all message exchanges *without taking into*
*account* the different status.

  

The X,Y axis values are +automatically adapted+ to the parameter values of the

monitoring view form.

  

(i) *Information*: This diagram can be considered as a _sliding horizon_, that mean your diagram

move to the left at each view update.

!Sliding-horizon-view.png|thumbnail!

h3. Exchanges overview page

This page is the most useful part of the monitoring, because it permits you to display all

informations of the current exchange that was _caught_ by the monitoring filter. This large

page is composed of +tree different parts+, the first on top represent all *global* exchange

informations:

!Top-exchange-global-view-page.png|thumbnail!

* The message exchange id beginning by petals:uid.
* The message exchange pattern.
* The exchange status.
* The endpoint name.
* The interface name.
* The service name.
* The operation name.
* The total exchange duration in millisecond of the exchange.
* The provider message processing duration in millisecond.
* The consumer message processing duration in millisecond.
* The beginning date of the exchange.

  

Also displayed in this part is the properties table of the current exchange with

two columns, in the first hand one for the property _key_ and in other hand one

for property _value_:

!Exchange-property-table.png|thumbnail!

  

The second page part is the most representative for the current exchange, which

consists to model the *exchange sketch*:

!Middle-exchange-overview-page.png|thumbnail!

This draft displays the consumer component and the provider component, you can also know

the container holder just by passing you mouse over each component. If an +unknown component+

plays a role in the exchange, then an _image of generic component_ will be displayed.

After that, several message types can be drawn according to the message exchange pattern:
|| Message \\ || Meaning \\ ||
| !min-in.png|thumbnail! | This message type represent the _IN_ message \\
sent to begin the message exchange. \\ |
| !min-out.png|thumbnail! | Message representing the _OUT_ message \\
sent during the message exchange. \\ |
| !min-done.png|thumbnail! | _DONE_ message type that represent the \\
correctly finishing of the exchange. \\ |
| !min-fault.png|thumbnail! | This allow to model a _FAULT_ message \\
transited during the exchange. \\ |
| !min-error.png|thumbnail! | That allows to display if an _ERROR_ occurred \\
during the exchange. \\ |

  

The last overview part is located on the page bottom, this part displays each message

_appeared_ during the exchange. Each displaying message have its own part which present

its associated informations:

!Bottom-exchange-overview-page2.png|thumbnail!

* The message type.
* The message content.
* The total transfer duration of the exchange (in .ms).
* A table displaying key/value of each normalized message property.
* A table showing attachment name of each normalized message attachment.

h3. Exchange and correlation searching

This new functionality it's very useful, because it's allows you to perform database searching

from a +correlation identifier+, either from an +exchange message identifier+.

The search is carried out on _Petals ESB side_, and if a result is returned to the Webconsole

it will be displayed.

The search may have a some impacts in your architecture, like *late response*, *bad localisation*

*of informations* but also more *network traffic generation*.

The result may be two different types:
* Searching error, which informs you that the search request doesn't
have found anything, both for the correlation identifier search or
exchange identifier search.
* Searching result, if a correlation identifier search have have +several+
+message exchanges+ as a result, *one list of these message exchanges*
will be displayed. If a search by message exchange identifier found +only+
+one+ result, *the overview page* of this exchange will be displayed to you.

In the following screen you can provide a _message exchange identifier_ in the searching

textbox, and select _exchangeID_ for searching type.

!search_by_exchange_id1.png|thumbnail!

After clicking on Submit if Petals ESB side return a result, you normally see +the message+
+exchange overview+ (of the searching message exchange identifier) displayed by the Petals
Webconsole.

!search_by_exchange_id2.png|thumbnail!

For the search by correlation identifier you just have +to know the correlation id+ for the search you

want to achieve, set it in the searching textbox and select _correlationID_ for searching parameter.

!search_by_correlation_id1.png|thumbnail!

After clicking on Submit if Petals ESB side return a result, you normally see the list of all
message exchanges which +are include in the same common flow+ (with the correlation
identifier of your previous searching request)
!search_by_correlation_id2.png|thumbnail!

h3. Common flow notions

In the Webconsole you have now the possibility to visualize several message exchange include

in the same common flow. For example if you have a use case that take in account several

message exchanges passing between the BC Filetransfert, EIP and BC SOAP, the common flow

will contain the globality of message exchanges transited between these components.

!BUS_mini2.png|thumbnail!

This function allows you to follow up the beginning of one use case activity until the end, by
visualizing all message exchanges transited during the process.