wM Integration Server Service Profiler

Online Help



About Page

This page contains information about the current release of the Service Profiler.

Information Page

This page contains information about Wrightia and additional documentation complementary to the Service Profiler.

Administration Page

This page contains the editing of settings that affect the overall tool behavior:

Licensing Page

This functionality is only accessible to users associated with the Administrators ACL.

The entry page shows the current licensing information (Expiration Date, Status, etc.) and can be used to set a new valid License Key.

The functionality option is Set New License Key and not Edit License Key. There is a difference: for the first, the current License Key is never shown.

'View Per Service' Analysis Page

This is a sample Analysis Tool viewing the generated hierarchical snapshot in a flat representation, accumulating per Service.

The source gathered data is an invocation tree where the same Service may be called from different parents, but this particular view disregards the service interrelations and sums all values for each individually identified Service into a single accumulator set.

All detail columns can be sorted by clicking on the corresponding column header. Clicking multiple time toggles between Ascending and Descending. Default (first click) sorting order depends on the Data Type: numeric and time columns are sorted Descending while the others are Ascending.

Snapshot Header Description
Sample Key A key that identifies the current snapshot.
Server Name The net name of the Integration Server host.
Begin Time The timestamp of when the profiling was started.
End Time The timestamp of when the snapshot was requested.
Snapshot Details Description
Package The name of the Package where the profiled Service is defined.
Service The fully-qualified runtime name of the profiled Service.
Type The Service Type:
  • Flow Service
  • Java Service
  • Adapter Service
  • C/C++ Service
  • Webservice
  • XSLT Service
  • Warning!
    Service name not found.
    This may happen if the package is disabled or the Service is renamed during profiling.

The service type icon is also a link to the BrowseSnapshot page, where the occurrences of the corresponding service will be automatically highlighted.

The link is made on the icon, and not on the Service column, to save horizontal space on the page: due to webMethods styling for links, their text appears as bold and this would widen considerably the Service table column.

Call Count The accumulated number of times the Service has been invoked.
The Service can be called from a number of other Services and has a Call Count for each of those calling nodes. However, this value sums all those counters.
Error Count The accumulated number of exceptions the Service has raised.
The Service can be called from a number of other Services and has an Exception Count for each of those calling nodes. However, this value sums all those counters.
Own Code Timings for the profiled Service Own Code. This means that is does not include the time spent in Services it calls, only the time it took executing its own functionality code.
With Child Code

Timings for the profiled Service Own Code plus the time spent in Services it calls.

The With Child... columns have defined a tip label showing the minimum and maximum timing values the corresponding Service took on a single call. Just place the mouse cursor over the table cell and the tip will appear for a short while.

Elapsed Clock time passed from the beginning of the call until it ends.
Spent Actual time spend in the CPU doing work.

Additionally, there are filtering options that further limits the amount of data when the page is refreshed, by means of clicking on the [Refresh] button. These options are:

'Code Coverage' Analysis Page

This is a sample Analysis Tool that, based solely on the number of Services for each package present in the snapshot against the universe of services defined in those packages, calculates a percentage of services used per package.

The Package and the % columns can be sorted, by clicking on the corresponding column header. Clicking multiple time toggles between Ascending and Descending.

Each package name (that contains Services defined) is presented as a link to a new page where the complete list of Services from that package is presented, together with an indication on whether is has been used/invoked or not while the profiler was Active.

Additionally, there is a filtering option that changes the amount of data when the page is refreshed, by means of clicking on the [Refresh] button. The option is:

'Browse Snapshot' Analysis Page

This Analysis Tool simply shows the tree of called Services.

Placing the mouse cursor over the node name will show a tip with context summarized information.
By clicking on the node name, contextual detail information is shown in the panel on the right:

There are no sorting options: the root nodes are always ordered ascending.

The Package Exclusion Patterns and the Minimum Elapsed Time filtering options are only applied to the root nodes.

Option Description
Expand all tree nodes.
Collapse all tree nodes.
Service Name

Locates all occurrences of a service name in the call tree.

Enter a fully qualified service name and press . The tree is expanded to where the service is found and the tree node(s) is(are) highlighted (but not selected).

Clear all highlighted tree nodes (does not deselect any currently selected tree node).
Minimum Elapsed Time

Applied only to root services.

Only shows root nodes for which the Elapsed Time is above the stated value.

The filter is applied by pressing the [Refresh] button.

On the tree nodes, which represent Service Calls, there may appear some visual hints overlaid to the node icon that give it some extra meaning. These tree node visual hints are explained in the table below.

Tree Node Hint Description

False root.

This can only occur on the node that is representing a Top Level Service or Root Service, i.e., a Service at the top of the tree.

A False root occurs when the Service Profiler is started, a service running path is already on the run and the first collected data happens in the middle of the call stack: for the Service Profiler this is a root because its has no recollection of the services up in the call stack. However, it is recognizably not a true Top Level Service because its parent is not null.

This hint indicates that the Service has raised exceptions. Select it to view its details, where an exception count is also presented.

Note: The View Per Service reports accumulated timings per service independently from its position in the calling tree. This may induce timing differences for a specific node by comparison because that service may be called by different parents which may even be currently filtered out.
 
Note: Some service nodes that are presented in the root may in fact not be top-level services.
They may happen to be on the root node just because they were first scanned after the time when the profiler was started.
These are called false roots are visually hinted.

'Browse Running Services' Analysis Page

The information on the Service Counters snapshots is only for top-level services that have already finished running.
While the top-level service is still running in some thread, its call path gathered timing and counts information is kept internally and only merged to the Service Counters when it finally returns.

This analysis page shows the threads that are currently running Services and also allows some insight over what services are currently running on the Integrations Server.

This analysis page is particularly interesting if there are top-level services that are taking a considerable amount of time to run from-end-to-end.

The detail information about each node is very similar to the one presented by Browse Snapshot with some differences:

Option Description
Expand all tree nodes.
Collapse all tree nodes.
Service Name

Locates all occurrences of a service name in the call tree.

Enter a fully qualified service name and press . The tree is expanded to where the service is found and the tree node(s) is(are) highlighted (but not selected).

Clear all highlighted tree nodes (does not deselect any currently selected tree node).

On the tree nodes, which represent all Service Calls made in the context of the top-level service in that thread, there may appear some visual hints overlaid to the node icon that give it some extra meaning. These tree node visual hints are explained in the table below.

Tree Node Hint Description

False root.

This can only occur on the node that is representing a Top Level Service or Root Service, i.e., a Service at the top of the tree.

A False root occurs when the Service Profiler is started, a service running path is already on the run and the first collected data happens in the middle of the call stack: for the Service Profiler this is a root because its has no recollection of the services up in the call stack. However, it is recognizably not a true Top Level Service because its parent is not null.

This hint indicates that the Service has raised exceptions. Select it to view its details, where an exception count is also presented.

This hint indicates that the Service is part of the thread call-stack. It is not the service currently running but it is on the call path and has itself called another service.

The node with this hint is the Service actually running within the thread.
It is the service that is currently (at the time the snapshot was taken) on the top of the call-stack.

Note: Service call count of 0 (zero).
The service call count is only incremented when the call is completed and returns the control back to the caller. This is also true for the timings and other counts.
So, the displayed call count value, exception count, elapsed time, etc., for each service is only for calls that have already finished.
When the service is first called, and is still on the thread call-stack, its call count is 0 (zero).
 
Note: The Package Exclusion Patterns is only applied to the root nodes.
 
Note: This dashboard snapshot is not affected by the Freeze Snapshot setting. So, everytime the page is loaded, or the Refresh button is clicked, a fresh snapshot of the threads is taken.
 
Note: Some service nodes that are presented in the root may in fact not be top-level services.
They may happen to be on the root node just because they were first scanned after the time when the profiler was started.
These are called false roots are visually hinted.

Export To File

This functionality allows exporting the current snapshot to a file.

When you choose the file format/type, adequate options are shown corresponding to the file format/type.

When the [Generate File] button is clicked, the file generation process is started. Upon completion, and on success, you are presented with a new page with a file name link.

The link is intended to be used as a Save As... option to save it to your local disk.

Note: The snapshot used by the Export, is not affected by the Package Exclusion Patterns.
So, all the collected Services are included in the exported data.
 
Note: This dashboard snapshot is affected by the Freeze Snapshot setting.
So, if a snapshot is frozen, the Freeze Snapshot icon is visible and the exported data relates to it.