wM Integration Server Service ProfilerOnline Help |
![]() |
This page contains information about the current release of the Service Profiler.
This page contains information about Wrightia and additional documentation complementary to the Service Profiler.
This page contains the editing of settings that affect the overall tool behavior:
Activation | Description |
Activation Name |
This setting is optional. Every time the profiler is started, that activation can be given a name, that may mean something for the person starting the profiler or in the context of a profiling session (e.g.; IncomingOrder(Phase 1), JAN/2009 full run). If this value is filled, it will replace the server name in the generated snapshot Sample Key. The snapshot Sample Key will always contain a timestamp suffix. |
![]() |
Requires a server restart. |
![]() |
The property has been changed but a server restart is required for it to be effective. |
Settings & Options | Description |
Freeze Snapshot |
Take a snapshot of the current profiling data and hold it in memory, using it as cached value for the next snapshot requests. This setting allows performing all the Data Analysis over the same snapshot, in opposition to always getting a new snapshot every time an operation is performed or a refresh is requested. If activated, the Profiler continues to gather profiling information about the running Services, but when a snapshot is requested the one cached (aka, frozen) is returned.
When the tool is stopped, this option is automatically set ON
to allow the analysis to continue working over the last know snapshot before the
Stop action.
When this setting is ON, an
If the icon is accompanied by an |
Clear generated export files |
Deletes all files generated as a consequence of the File Export operation with the Generate file & link option. Each a file export of this type creates a file in the package (outbound) area. Even though these files are automatically deleted every time the package is reloaded, this option allows deleting those files without having to reload the package. |
Override server name with |
This setting is optional. This option defines an overriding value for the server netname plus port number as reported by the Integration Server. The value you set for this property, after saving changes, will be adopted by the next started snapshots. The current activation is unware of this property change. Clearing the property value restores the behaviour to its default: use the name+port reported by the Integration Server. |
Disable tool loading |
This option prevents the Service Profiler from loading its libraries when the Integration Server starts. When this option is activated, the tool's menus are disabled and it has absolutely no effect over the hosting Integration Server. A server restart is required to make the changes effective. |
Auto-start upon package (re)load |
This option makes sure that the Service Profiler is started right after its package is loaded or reloaded. In practice, the Service Profiler is kept started if you either reload its package or restart the Integration Server. You do not have to go and start it manually. |
Auto-started activation Name |
This option is intimately related with the previous one, i.e., it is only considered if the tool is set to start automatically. It, optionally, defines the name to give to the activation when the Service Profiler is started. The default value is AUTOSTARTED, but it can be replaces or even cleared. |
Publish snapshot on shutdown |
This option is marginally related with the tool's autostart setting, but is can be set independently. The rational is that, if the intention is to keep the tool running even in the sequence of restarts, then there can also be an interest of knowing which counters have been already collected, before shutting down. Because what that information is used for is not known by the Service Profiler, it just publishes it to the Integration Server as an instance of the publishable document wia.pub.issprofiler.docs:ServiceCounters. If set, the publication will happen whevever the package is unloaded: package reload, package disable, server restart or shutdown, etc. |
Field/Item | Description |
New Pattern |
New Regular Expression Pattern to add or test. When the [Save Changes] button is clicked this expression is added to the list. |
Check |
Click on the ![]() |
Remove |
Indicate which Name Pattern is to be removed from the list by checking the corresponding checkbox. When the [Save Changes] button is clicked all checked expressions are removed from the list. |
Disabled |
Indicate whether the Name Pattern is to be ignored for evaluation by checking the corresponding checkbox. This option is useful to temporarily include the affected packages in the dashboards without having to actually remove the Name Pattern. When the [Save Changes] button is clicked all checked expressions are persisted and the setting is valid even after a package reload. |
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.
Property | Description |
Licensed To | Name of the customer the License Key has been emitted to. |
License Level | Currently, there is only Standard. |
Expiration Date | The date when this license expires. |
Evaluation | Whether the License Key is for evaluation or is definitive. |
Status | A text defining the current status of the License key. |
Licensed Service Volume | The maximum service nodes identified in a snapshot. |
Service Top Volume |
A count of how many services have been considered to the already taken snapshots, since the tool is up and running or since the last reset. This value is updated each time a snapshot is taken and it will be kept between start/stop cycles of the tool.
When it exceeds the Licensed Service Volume,
an
When the The Reset 'Service Top Volume' Counter option resets the counter. |
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. |
MTC |
Max Thread Count. This value contains the maximum number of threads that were used in parallel to execute the listed services. It is useful to give the user an idea of what percentage of defined Service Threads were (or are being) used during the profiling session. If the number of threads is equal, or close, to the maximum defined in the Integration Server, there may be services spending time waiting for a thread to become free. |
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:
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:
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:
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 |
Enter the service name to locate in the tree. |
![]() |
Locates all occurrence of a fully qualified service name. The tree is expanded to where the service is found and the tree node(s) is(are) highlighted (but not selected). |
![]() |
Locates all occurrence of a service in the given the Regular Expression entered in the Service Name text box. 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. |
Ignore ALL Package Exclusion Patterns |
When checked, the Package Exclusion Patterns settings are completelly ignored and all packaged are included. This option is useful to reveal services that are not excluded by the patterns, but that are in an execution path started by a service that is thus excluded, without having to change the current Package Exclusion Patterns settings. |
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. |
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 |
Enter the service name to locate in the tree. |
![]() |
Locates all occurrence of a fully qualified service name. The tree is expanded to where the service is found and the tree node(s) is(are) highlighted (but not selected). |
![]() |
Locates all occurrence of a service in the given the Regular Expression entered in the Service Name text box. 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). |
With Thread info |
When checked, the usage of the Refresh button will result in a new snapshot with detail information about the threads included. This option is only available in Integration Servers that are running under a JVM that allows this capability. |
Ignore ALL Package Exclusion Patterns |
When checked, the Package Exclusion Patterns settings are completelly ignored and all packaged are included. This option is useful to reveal services that are not excluded by the patterns, but that are in an execution path started by a service that is thus excluded, without having to change the current Package Exclusion Patterns settings. |
When the With Thread info option is checked, the thread icons suffer changes to visually reflect some (not all, but what can be considered important) state information.
Note: | It is important to point out that the viewed information is valid for the moment the snapshot was taken. So, for instance in case of simple blockage, the status may be transient and when viewed it may already have been changed. |
Thread Icon | Description |
![]() |
The thread is running normally (RUNNABLE) or no detail information about the threads was requested. |
![]() |
The thread is blocked (BLOCKED) by the thread info gathering process. The lock is only for the duration of the information gathering and it is now already released. The detail panel contains information about the blocker, and if it is a thread in the current snapshot a link is available to directly locate it in the tree. |
![]() |
The thread is blocked (BLOCKED) by another. The detail panel contains information about who is blocking, and if it is a thread in the current snapshot a link is available to directly locate it in the tree. |
![]() |
The thread is not only blocked. It is actually involved in a deadlock. |
![]() |
The thread is suspended. |
![]() |
The thread is waiting, either that some time has passed (TIMED_WAITING) or that a notification happens (WAITING). |
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.
For this node, the contextual detail information will present an extra information panel named Running Instance. In it, the Elapsed value indicates the amount of time elapsed since the service was invoked. |
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 setting is only applied to the root nodes. |
Note: | This dashboard snapshot is not affected by the Freeze Snapshot setting. So, every time 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. |
This functionality allows exporting the current snapshot to a file.
Option | Description |
File Type |
Select the file format/type. When you choose the file format/type, adequate options are shown corresponding to the file format/type. |
Stream to download |
The file is generated as a stream directly to the browser. Depending on the setting for the file's mime type on your local machine/browser, the file may be shown directly on the browser or a dialog box may be open to direct you to save the file, open it with an installed application, etc. |
Generate file & link |
The snapshot is generated in to a file located in the server's disk and a link is generated to access it. The link is intended to be used as a Save As... option to save it to your local disk. |
When the [Execute] button is clicked, the file generation process is started.
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. |
This functionality allows loading a previously exported snapshot (as XML) to be viewed in the dashboard.
Note: |
The snapshots can be from Integration Servers other than the current one.
For snapshots exported with previous versions of the Service Profiler
the service icons may appear incorrect or as ![]() |
Option | Description |
Browse | Locally select a file to be uploaded. It has to be a valid exported XML file. The file type and structure is validated an will not be loaded if invalid. |
Upload |
Execute the upload operation. |
If any processing/validation error occurs a corresponding message is displayed and the form is reset and made available for another try.
Upon success, a corresponding message is shown together with an icon ()
that is the visual clue indicating that the snapshot is from a loaded XML and not from
the running services. This visual clue is shown in the dashboards and panels that show the loaded
snapshot.
Not all dashboards show/reflect the loaded snapshot, e.g., the Browse Running Services.
Note: |
When the file is loaded, the snapshot is frozen (![]() |
To discard the loaded XML snapshot and access the running services snapshots, just go to the admin page and unfreeze the snapshot.