View Source

{section}
{column}

h1. Installing the command 'monitoring'

[Debian packages|Installing Petals CLI using the Debian packages] or a [full ZIP archive|petalscli211:Installing Petals CLI using the ZIP archive] are available to install this Petals CLI extension. Otherwise, just put the JAR artifact '{{org.ow2.petals:petals-cli-cmd-monitoring}}' in the directory {{$PETALS_CLI_HOME/extensions}}.

To check that the installation is correct, just get the list of available commands of your Petals CLI, you should see the command '{{monitoring}}' in the list:
{code}
> ./petals-cli.sh -c -- help
...
logger-set
Set the specified level to the specified logger.
loggers Return all the loggers.
monitoring
Get monitoring information.
print Print a message.
...
{code}

Next to this previous manual installation, you must install the Cacti's implementation of monitored objects and the Nagios's implementation of subscription objects. Put the JAR artifacts '{{org.ow2.petals:petals-cli-cmd-monitoring-mo-cacti}}' and '{{org.ow2.petals:petals-cli-cmd-monitoring-so-nagios}}' in the directory {{$PETALS_CLI_HOME/extensions}}.

To check that the installation is correct, just get the list of monitored and subscription objects:
{code}
> ./petals-cli.sh -c -- help monitoring
...
- petals-bc-soap: Component BC SOAP
- service-provider-invocations-count: Counters of service provider requests
- service-provider-invocations-response-times: Response times of service provider invocations
- mex-acceptor-thread-pool: Message exchange acceptor pool statistics
- mex-acceptor-working: Statistics about working message exchange acceptors
- mex-processor-thread-pool: Message exchange processor thread pool statistics
- incoming-http-requests-count: Counters of incoming HTTP requests
- incoming-ws-requests-count: Counters of incoming web-service requests
- incoming-ws-requests-response-times: Response times of incoming web-service requests
- http-thread-pool: HTTP Thread pool statistics
- ws-clients-pools: WS-clients pools statistics
- outgoing-ws-requests-count: Counters of outgoing web-service requests
- outgoing-ws-requests-response-times: Response times of outgoing web-service requests
- generic: Generic monitoring for CDK based component
- service-provider-invocations-count: Counters of service provider requests
- service-provider-invocations-response-times: Response times of service provider invocations
- mex-acceptor-thread-pool: Message exchange acceptor pool statistics
- mex-acceptor-working: Statistics about working message exchange acceptors
- mex-processor-thread-pool: Message exchange processor thread pool statistics
- local-transporter: Message exchange local transporter
- delivered-messages: Delivered messages
- ...
- ...

SUBSCRIPTION OBJECTS & DEFECTS
- generic: Subscription to the defects of the CDK based component
- org.ow2.petals.component.framework.process.message.acceptor.pool.thread.dead: A message exchange acceptor thread is dead unexpectedly !
- org.ow2.petals.component.framework.process.message.acceptor.pool.exhausted: No more thread is available to accept message exchange processor !
- org.ow2.petals.component.framework.process.message.processor.thread.pool.exhausted: No more thread is available to run a message exchange processor !
- petals-bc-soap: Subscription to the defects of the Petals BC SOAP
- org.ow2.petals.component.framework.process.message.acceptor.pool.thread.dead: A message exchange acceptor thread is dead unexpectedly !
- org.ow2.petals.component.framework.process.message.acceptor.pool.exhausted: No more thread is available to accept message exchange processor !
- org.ow2.petals.component.framework.process.message.processor.thread.pool.exhausted: No more thread is available to run a message exchange processor !
- org.ow2.petals.bc.soap.httpserver.threadpool.exhausted: No more thread is available in the HTTP thread pool to process incoming requests !
- org.ow2.petals.bc.soap.serviceclientspool.exhausted: No more web-service clients is available in its pool to process outgoing requests !
- ...
- ...
...
{code}

{column}
{column:width=35%}
{panel:title=Table of contents}{toc:outline=true}{panel}
{panel:title=Contributors}{contributors:order=name|mode=list|showAnonymous=true|showCount=true|showLastTime=true}{panel}
{column}
{section}

h1. Getting metrics

Monitored objects are designed to get metrics of an internal Petals component:
{code}
> petals-cli.sh ... -c -- monitoring -o <monitoring-object> -f <sub-function> [-h]
{code}
where:
* {{monitoring-object}} and {{sub-function}} identify the metrics to get. See [Monitored objects|#monitored-objects] to get available metrics.
* {{-h}}: Get help on the specified metric.

Metrics are printed on the standard output stream.

h1. Subscribing to defect

Subscription objects are designed to get notification on defects occurring on the Petals container side.
{code}
> petals-cli.sh ... -c -- monitoring -s <subscription-object>
> petals-cli.sh ... -c -- monitoring -u <subscription-object>
{code}
where:
* {{-s}}: subscribe to the defects of the subscription object,
* {{-u}}: unsubscribe from the defects of the subscription object.
See [Subscription objects|#subscription-objects].

Once a subscription is launched, detected defects are printed on the standard output, and the Petals CLI prompt is always available to enter other commands, as other subscriptions or unsubscriptions. Ctrl-C can be used to interrupt a subscription and to exit from Petals CLI.

{anchor:monitored-objects}
h1. Monitored objects for Cacti

Available monitored objects are the following:
|| Object || Metric || Command line ||
| CDK-based component | [Message exchange acceptor thread pool|#message-exchange-acceptor-thread-pool] | {{-o generic -f mex-acceptor-thread-pool}} |
| CDK-based component | [Working message exchange acceptors|#working-message-exchange-acceptors] | {{-o generic -f mex-acceptor-working}} |
| CDK-based component | [Message exchange processor thread pool|#message-exchange-processor-thread-pool] | {{-o generic -f mex-processor-thread-pool}} |
| CDK-based component | [Service provider invocation number|#service-provider-invocations-count] | {{-o generic -f service-provider-invocations-count}} |
| CDK-based component | [Service provider invocation response times|#service-provider-invocations-response-times] | {{-o generic -f service-provider-invocations-response-times}} |
| Petals BC SOAP | [Incoming HTTP request counters|#petals-bc-soap-incoming-http-requests-count] | {{-o petals-bc-soap -f incoming-http-requests-count}} |
| Petals BC SOAP | [Incoming HTTP service contract request counters|#petals-bc-soap-incoming-service-contract-requests-count] | {{-o petals-bc-soap -f incoming-service-contract-requests-count}} |
| Petals BC SOAP | [Incoming WS request counters|#petals-bc-soap-incoming-ws-requests-count] | {{-o petals-bc-soap -f incoming-ws-requests-count}} |
| Petals BC SOAP | [Incoming WS request response times|#petals-bc-soap-incoming-ws-requests-response-times] | {{-o petals-bc-soap -f incoming-ws-requests-response-times}} |
| Petals BC SOAP | [HTTP thread pool|#petals-bc-soap-http-thread-pool] | {{-o petals-bc-soap -f http-thread-pool}} |
| Petals BC SOAP | [WS-client pools|#petals-bc-soap-http-thread-pool] | {{-o petals-bc-soap -f ws-clients-pools}} |
| Petals BC SOAP | [Outgoing WS request counters|#petals-bc-soap-outgoing-ws-requests-count] | {{-o petals-bc-soap -f outgoing-ws-requests-count}} |
| Petals BC SOAP | [Outgoing WS request response times|#petals-bc-soap-outgoing-ws-requests-response-times] | {{-o petals-bc-soap -f outgoing-ws-requests-response-times}} |
| Local transporter | [Delivered messages|#local-transporter-delivered-messages] | {{-o local-transporter -f delivered-messages}} |
| Remote transporter | [Outgoing connection pools|#remote-transporter-outgoing-connection-pool] | {{-o tcp-transporter -f outgoing-connections}} |
| Remote transporter | [Delivered outgoing messages|#remote-transporter-delivered-outgoing-messages] | {{-o tcp-transporter -f delivered-outgoing-messages}} |
| Remote transporter | [Incoming connection pools|#remote-transporter-incoming-connection-pool] | {{-o tcp-transporter -f incoming-connections}} |
| Remote transporter | [Delivered incoming messages|#remote-transporter-delivered-incoming-messages] | {{-o tcp-transporter -f delivered-incoming-messages}} |

h2. Petals Components

h3. Petals CDK based components

h4. {anchor:message-exchange-acceptor-thread-pool}Message exchange acceptor thread pool

Several metrics about the message exchange acceptor thread pool of the component are available through the sub function '{{mex-acceptor-thread-pool}}' of the monitored object '{{generic}}'. It's usage is:
{code}
-n <component-name>
{code}
where '{{<component-name>}}' is the unique name of the JBI component with which it was deployed.
Returned metrics are:
* {{ActiveThreadsMax}}, the maximum number of threads allocatable to the message exchange acceptors,
* {{ActiveThreadsCurrent}}, the current number of threads allocated to the message exchange acceptors.

{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o generic -f mex-acceptor-thread-pool -- -n petals-bc-soap
ActiveThreadsMax:5 ActiveThreadsCurrent:2
{code}

h4. {anchor:working(message-exchange-acceptors}Working message exchange acceptors

Several metrics about the working message exchange acceptors of the component are available through the sub function '{{mex-acceptor-working}}' of the monitored object '{{generic}}'. It's usage is:
{code}
-n <component-name>
{code}
where '{{<component-name>}}' is the unique name of the JBI component with which it was deployed.
Returned metrics are:
* {{MexAcceptorWorkingNbMax}}, the maximum number of working message exchange acceptors since the last startup of the component,
* {{MexAcceptorWorkingNbCurrent}}, the current number of working message exchange acceptors,
* {{MexAcceptorWorkingDurationMax}}, the max duration of message exchange acceptor processing since the last startup,
* {{MexAcceptorWorkingDurationAvg}}, the average duration of message exchange acceptor processing since the last startup,
* {{MexAcceptorWorkingDurationMin}}, the min duration of message exchange acceptor processing since the last startup,
* {{MexAcceptorWorkingDuration10p}}, the 10-percentile duration of message exchange acceptor processing on the last sample,
* {{MexAcceptorWorkingDuration50p}}, the 50-percentile duration of message exchange acceptor processing on the last sample,
* {{MexAcceptorWorkingDuration90p}}, the 90-percentile duration of message exchange acceptor processing on the last sample,

{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o generic -f mex-acceptor-working -- -n petals-bc-soap
MexAcceptorWorkingNbMax:20 MexAcceptorWorkingNbCurrent:0 MexAcceptorWorkingDurationMax:0 MexAcceptorWorkingDurationAvg:0 MexAcceptorWorkingDurationMin:0 MexAcceptorWorkingDuration10p:0 MexAcceptorWorkingDuration50p:0 MexAcceptorWorkingDuration90p:0
{code}

h4. {anchor:message-exchange-processor-thread-pool}Message exchange processor thread pool

Several metrics about the message exchange processor thread pool of the component are available through the sub function '{{mex-processor-thread-pool}}' of the monitored object '{{generic}}'. It's usage is:
{code}
-n <component-name>
{code}
where '{{<component-name>}}' is the unique name of the JBI component with which it was deployed.
Returned metrics are:
* {{ActiveThreadsMax}}, the maximum number of active threads,
* {{ActiveThreadsCurrent}}, the current number of active threads,
* {{IdleThreadsMax}}, the maximum number of idle threads,
* {{IdleThreadsCurrent}}, the current number of idle threads,
* {{MaxSize}}, the maximum size of the thread pool,
* {{MinSize}}, the minimum size of the thread pool,
* {{EnqueuedRequestsMax}}, the maximum number of requests that are enqueued waiting a thread to be processed,
* {{EnqueuedRequestsCurrent}}, the current number of requests that are enqueued waiting a thread to be processed.

{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o generic -f mex-processor-thread-pool -- -n petals-bc-soap
ActiveThreadsMax:5 ActiveThreadsCurrent:5 IdleThreadsMax:0 IdleThreadsCurrent:1 MaxSize:50 MinSize:2 EnqueuedRequestsMax:0 EnqueuedRequestsCurrent:0
{code}

h4. {anchor:service-provider-invocations-count}Service provider invocation number

Service provider invocation counters are available through the sub function '{{service-provider-invocations-count}}' of the monitored object '{{generic}}'. It's usage is:
{code}
-n <component-name> [--list-operations] | [--query-operations [NAME] | [SUCCEEDED|PENDING|FAULT|ERROR <index>]] | [-t]
{code}
where '{{<component-name>}}' is the unique name of the JBI component with which it was deployed.

\\
'{{--list-operations}}' returns the list of all operations of all service providers of the component that were invoked since the last start of the component. Operations are returned with the following pattern: {{<operation>@<sp-service-name>@<sp-interface-name>}}, where:
* {{<operation>}} is the qualified name of the operation,
* {{<sp-service-name>}} is the service name of the service provider,
* {{<sp-interface-name>}} is the interface name of the service provider.
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o generic -f service-provider-invocations-count -- -n petals-bc-soap --list-operations
{http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation@{http://esb.mediation.archi.acoss.fr/services/echo/1.0}EchoService@{http://esb.mediation.archi.acoss.fr/services/echo/1.0}Echo
{code}

{note}The counter values add up the values of all endpoints matching '{{<operation>@<sp-service-name>@<sp-interface-name>}}'. We choose this because we think that in the most cases only one endpoint will be deployed at once on the given component of the given container. If you need to separate values by endpoint, please fill an issue: http://jira.petalslink.com.{note}

\\
'{{--query-operations}}' returns query result about operation:
|| Query argument || Description ||
| {{NAME}} | returns operation names of service providers by index. It is used to known which operation is associated to index. The output format is: {{<index>!<operation>}}, one operation per line. |
| {{SUCCEEDED}} | returns the number of succeeded service provider invocations per operation. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index. |
| {{PENDING}} | returns the number of pending service provider invocations per operation. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index. |
| {{FAULT}} | returns the number of faulty service provider invocation per operation. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index. |
| {{ERROR}} | returns the number of failed service provider invocation per operation. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index. |
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o generic -f service-provider-invocations-count -- -n petals-bc-soap --query-operations SUCCEEDED
{http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation@{http://esb.mediation.archi.acoss.fr/services/echo/1.0}EchoService@{http://esb.mediation.archi.acoss.fr/services/echo/1.0}Echo!182830
{code}

\\
'{{-t}}' displays a human readable table of all values about service provider invocations:
{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o generic -f service-provider-invocations-count -- -n petals-bc-soap -t
| Interface | Service | Operation | MEP | Execution status || Value |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| {http://esb.mediation.archi.acoss.fr/services/echo/1.0}Echo | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}EchoService | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation | http://www.w3.org/2004/08/wsdl/in-out | FAULT || 53773 |
| {http://esb.mediation.archi.acoss.fr/services/echo/1.0}Echo | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}EchoService | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation | http://www.w3.org/2004/08/wsdl/in-out | ERROR || 725 |
| {http://esb.mediation.archi.acoss.fr/services/echo/1.0}Echo | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}EchoService | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation | http://www.w3.org/2004/08/wsdl/in-out | SUCCEEDED || 182830 |
| {http://esb.mediation.archi.acoss.fr/services/echo/1.0}Echo | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}EchoService | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation | http://www.w3.org/2004/08/wsdl/in-out | PENDING || 0 |
{code}

h4. {anchor:service-provider-invocations-response-times}Service provider invocation response times

Service provider invocation response times are available through the sub function '{{service-provider-invocations-response-times}}' of the monitored object '{{generic}}'. It's usage is:
{code}
-n <component-name> [--list-operations] | [--query-operations [NAME] | [SUCCEEDED_MIN|SUCCEEDED_AVG|SUCCEEDED_MAX|SUCCEEDED_10P|SUCCEEDED_50P|SUCCEEDED_90P|PENDING_MIN|PENDING_AVG|PENDING_MAX|PENDING_10P|PENDING_50P|PENDING_90P|FAULT_MIN|FAULT_AVG|FAULT_MAX|FAULT_10P|FAULT_50P|FAULT_90P|ERROR_MIN|ERROR_AVG|ERROR_MAX|ERROR_10P|ERROR_50P|ERROR_90P <index>]] | [-t]
{code}
where '{{<component-name>}}' is the unique name of the JBI component with which it was deployed.

\\
'{{--list-operations}}' returns the list of all operations of allservice providers of the component that were invoked since the last start of the component. Operations are returned with the following pattern: {{<operation>@<sp-service-name>@<sp-interface-name>}}, where:
* {{<operation>}} is the qualified name of the operation,
* {{<sp-service-name>}} is the service name of the service provider,
* {{<sp-interface-name>}} is the interface name of the service provider.
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o generic -f service-provider-invocations-response-times -- -n petals-bc-soap --list-operations
{http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation@{http://esb.mediation.archi.acoss.fr/services/echo/1.0}EchoService@{http://esb.mediation.archi.acoss.fr/services/echo/1.0}Echo
{code}

{note}The counter values add up the values of all endpoints matching '{{<operation>@<sp-service-name>@<sp-interface-name>}}'. We choose this because we think that in the most cases only one endpoint will be deployed at once on the given component of the given container. If you need to separate values by endpoint, please fill an issue: http://jira.petalslink.com.{note}

\\
'{{--query-operations}}' returns query result about operation:
|| Query argument || Description ||
| {{NAME}} | returns operation names by index. It is used to known which operation is associated to index. The output format is: {{<index>!<operation>}}, one operation per line. |
| {{SUCCEEDED_MIN}} | returns the minimum value (in milliseconds) of response times of succeeded invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_AVG}} | returns the average value (in milliseconds) of response times of succeeded invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_MAX}} | returns the maximum value (in milliseconds) of response times of succeeded invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_10P}} | returns the 10-percentile value (in milliseconds) of response times of succeeded invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_50P}} | returns the 50-percentile value (in milliseconds) of response times of succeeded invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_90P}} | returns the 90-percentile value (in milliseconds) of response times of succeeded invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{PENDING_MIN}} | returns the minimum value (in milliseconds) of response times of pending invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{PENDING_AVG}} | returns the average value (in milliseconds) of response times of pending invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{PENDING_MAX}} | returns the maximum value (in milliseconds) of response times of pending invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{PENDING_10P}} | returns the 10-percentile value (in milliseconds) of response times of pending invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{PENDING_50P}} | returns the 50-percentile value (in milliseconds) of response times of pending invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{PENDING_90P}} | returns the 90-percentile value (in milliseconds) of response times of pending invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_MIN}} | returns the minimum value (in milliseconds) of response times of faulty invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_AVG}} | returns the average value (in milliseconds) of response times of faulty invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_MAX}} | returns the maximum value (in milliseconds) of response times of faulty invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_10P}} | returns the 10-percentile value (in milliseconds) of response times of faulty invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_50P}} | returns the 50-percentile value (in milliseconds) of response times of faulty invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_90P}} | returns the 90-percentile value (in milliseconds) of response times of faulty invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_MIN}} | returns the minimum value (in milliseconds) of response times of failed invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_AVG}} | returns the average value (in milliseconds) of response times of failed invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_MAX}} | returns the maximum value (in milliseconds) of response times of failed invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_10P}} | returns the 10-percentile value (in milliseconds) of response times of failed invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_50P}} | returns the 50-percentile value (in milliseconds) of response times of failed invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_90P}} | returns the 90-percentile value (in milliseconds) of response times of failed invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o generic -f service-provider-invocations-response-times -- -n petals-bc-soap --query-operations SUCCEEDED_50P
{http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation@{http://esb.mediation.archi.acoss.fr/services/echo/1.0}EchoService@{http://esb.mediation.archi.acoss.fr/services/echo/1.0}Echo!1100
{code}

\\
'{{-t}}' displays a human readable table of all values about service provider invocation response times:
{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o generic -f service-provider-invocations-response-times -- -n petals-bc-soap -t
| Interface | Service | Operation | MEP | Execution status || Min | Avg | Max | 10P | 50P | 90P |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| {http://esb.mediation.archi.acoss.fr/services/echo/1.0}Echo | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}EchoService | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation | http://www.w3.org/2004/08/wsdl/in-out | ERROR || 9013 | 9722 | 12288 | 9015 | 9023 | 11026 |
| {http://esb.mediation.archi.acoss.fr/services/echo/1.0}Echo | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}EchoService | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation | http://www.w3.org/2004/08/wsdl/in-out | FAULT || 3 | 5739 | 22793 | 6 | 6078 | 11682 |
| {http://esb.mediation.archi.acoss.fr/services/echo/1.0}Echo | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}EchoService | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation | http://www.w3.org/2004/08/wsdl/in-out | PENDING || 1306 | 2975 | 11350 | 1309 | 1345 | 5103 |
| {http://esb.mediation.archi.acoss.fr/services/echo/1.0}Echo | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}EchoService | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation | http://www.w3.org/2004/08/wsdl/in-out | SUCCEEDED || 2 | 1977 | 19891 | 4 | 1017 | 5621 |
{code}

h3. Petals BC SOAP

h4. {anchor:petals-bc-soap-incoming-ws-requests-count}Incoming WS request counters

Incoming WS request counters are available through the sub function '{{incoming-ws-requests-count}}' of the monitored object '{{petals-bc-soap}}'. It's usage is:
{code}
-n <component-name> [--list-operations] | [--query-operations [NAME] | [SUCCEEDED|FAULT|ERROR <index>]] | [-t]
{code}
where '{{<component-name>}}' is the unique name of the Petals BC SOAP with which it was deployed.

\\
'{{--list-operations}}' returns the list of all operations of all web-services that were invoked since the last start of the component. Operations are returned with the following pattern: {{<operation>@<ws-path>}}, where {{<operation>}} is the qualified name of the operation and {{<ws-path>}} is the URL path of the web-service.
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f incoming-ws-requests-count -- -n petals-bc-soap --list-operations
{http://esb.mediation.archi.acoss.fr/services/charge/se-diff-agreg/1.0}chargeOperation@/ChargeService
{code}

\\
'{{--query-operations}}' returns query result about operation:
|| Query argument || Description ||
| {{NAME}} | returns operation names by index. It is used to known which operation is associated to index. The output format is: {{<index>!<operation>}}, one operation per line. |
| {{SUCCEEDED}} | returns the number of succeeded invocation per operation. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index. |
| {{FAULT}} | returns the number of faulty invocation per operation. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index. |
| {{ERROR}} | returns the number of failed invocation per operation. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index. |
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f incoming-ws-requests-count -- -n petals-bc-soap --query-operations SUCCEEDED
{http://esb.mediation.archi.acoss.fr/services/charge/se-diff-agreg/1.0}chargeOperation@/ChargeService!3
{code}

\\
'{{-t}}' displays a human readable table of all values about incoming WS requests:
{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f incoming-ws-requests-count -- -n petals-bc-soap -t
| Service | Operation | WS-client | Execution status || Value |
---------------------------------------------------------------------------------------------------------------------------------------------------
| /ChargeService | {http://esb.mediation.archi.acoss.fr/services/charge/se-diff-agreg/1.0}chargeOperation | 127.0.0.1 | SUCCEEDED || 3 |
| /ChargeService | {http://esb.mediation.archi.acoss.fr/services/charge/se-diff-agreg/1.0}chargeOperation | 127.0.0.1 | PENDING || 0 |
{code}

h4. {anchor:petals-bc-soap-incoming-ws-requests-response-times}Incoming WS request response times

Incoming WS request response times are available through the sub function '{{incoming-ws-requests-count}}' of the monitored object '{{petals-bc-soap}}'. It's usage is:
{code}
-n <component-name> [--list-operations] | [--query-operations [NAME] | [SUCCEEDED_MIN|SUCCEEDED_AVG|SUCCEEDED_MAX|SUCCEEDED_10P|SUCCEEDED_50P|SUCCEEDED_90P|FAULT_MIN|FAULT_AVG|FAULT_MAX|FAULT_10P|FAULT_50P|FAULT_90P|ERROR_MIN|ERROR_AVG|ERROR_MAX|ERROR_10P|ERROR_50P|ERROR_90P <index>]] | [-t]
{code}
where '{{<component-name>}}' is the unique name of the Petals BC SOAP with which it was deployed.

\\
'{{--list-operations}}' returns the list of all operations of all web-services that were invoked since the last start of the component. Operations are returned with the following pattern: {{<operation>@<ws-path>}}, where {{<operation>}} is the qualified name of the operation and {{<ws-path>}} is the URL path of the web-service.
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f incoming-ws-requests-response-times -- -n petals-bc-soap --list-operations
{http://esb.mediation.archi.acoss.fr/services/charge/se-diff-agreg/1.0}chargeOperation@/ChargeService
{code}

\\
'{{--query-operations}}' returns query result about operation:
|| Query argument || Description ||
| {{NAME}} | returns operation names by index. It is used to known which operation is associated to index. The output format is: {{<index>!<operation>}}, one operation per line. |
| {{SUCCEEDED_MIN}} | returns the minimum value (in milliseconds) of response times of succeeded invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_AVG}} | returns the average value (in milliseconds) of response times of succeeded invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_MAX}} | returns the maximum value (in milliseconds) of response times of succeeded invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_10P}} | returns the 10-percentile value (in milliseconds) of response times of succeeded invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_50P}} | returns the 50-percentile value (in milliseconds) of response times of succeeded invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_90P}} | returns the 90-percentile value (in milliseconds) of response times of succeeded invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_MIN}} | returns the minimum value (in milliseconds) of response times of faulty invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_AVG}} | returns the average value (in milliseconds) of response times of faulty invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_MAX}} | returns the maximum value (in milliseconds) of response times of faulty invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_10P}} | returns the 10-percentile value (in milliseconds) of response times of faulty invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_50P}} | returns the 50-percentile value (in milliseconds) of response times of faulty invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_90P}} | returns the 90-percentile value (in milliseconds) of response times of faulty invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_MIN}} | returns the minimum value (in milliseconds) of response times of failed invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_AVG}} | returns the average value (in milliseconds) of response times of failed invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_MAX}} | returns the maximum value (in milliseconds) of response times of failed invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_10P}} | returns the 10-percentile value (in milliseconds) of response times of failed invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_50P}} | returns the 50-percentile value (in milliseconds) of response times of failed invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_90P}} | returns the 90-percentile value (in milliseconds) of response times of failed invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f incoming-ws-requests-response-times -- -n petals-bc-soap --query-operations SUCCEEDED_50P
{http://esb.mediation.archi.acoss.fr/services/charge/se-diff-agreg/1.0}chargeOperation@/ChargeService!7021
{code}

\\
'{{-t}}' displays a human readable table of all values about incoming WS-request response times:
{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f incoming-ws-requests-response-times -- -n petals-bc-soap -t
| Service | Operation | WS-client | Execution status || Min | Avg | Max | 10P | 50P | 90P |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| /ChargeService | {http://esb.mediation.archi.acoss.fr/services/charge/se-diff-agreg/1.0}chargeOperation | 127.0.0.1 | SUCCEEDED || 2986 | 5901 | 8714 | 2986 | 7021 | 8714 |
| /ChargeService | {http://esb.mediation.archi.acoss.fr/services/charge/se-diff-agreg/1.0}chargeOperation | 127.0.0.1 | FAULT || 12271 | 12271 | 12271 | 12271 | 12271 | 12271 |
{code}

h4. {anchor:petals-bc-soap-incoming-http-requests-count}Incoming HTTP request counters

Incoming HTTP request counters are available through the sub function '{{incoming-http-requests-count}}' of the monitored object '{{petals-bc-soap}}'. It's usage is:
{code}
-n <component-name> [-r]
{code}
where '{{<component-name>}}' is the unique name of the Petals BC SOAP with which it was deployed.

\\
'{{-r}}' returns the number of HTTP requests processed per nature:
* {{Information}}, is associated to all information pages of the BC SOAP,
* {{WS}}, HTTP requests associated to web-services,
* {{ServiceContracts}}, HTTP service contract requests associated to web-services,
* {{Unknown}}, HTTP requests pointing to unknown page.
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f incoming-http-requests-count -- -n petals-bc-soap -r
Information:0 WS:7 Unknown:0 ServiceContracts:1
{code}

h4. {anchor:petals-bc-soap-incoming-service-contract-requests-count}Incoming web-service contract request counters

Incoming web-service contract request counters are available through the sub function '{{incoming-service-contract-requests-count}}' of the monitored object '{{petals-bc-soap}}'. It's usage is:
{code}
-n <component-name> [--list-operations] | [--query-operations [NAME] | [COUNT <index>]] | [-t]
{code}
where '{{<component-name>}}' is the unique name of the Petals BC SOAP with which it was deployed.

\\
'{{--list-services}}' returns the list of all web-services for which the service contract was asked since the last start of the component.
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f incoming-service-contract-requests-count -- -n petals-bc-soap --list-services
archiveService
{code}

\\
'{{--query-services}}' returns query result about web-service:
|| Query argument || Description ||
| {{NAME}} | returns web-service names by index. It is used to known which web-service is associated to index. The output format is: {{<index>!<service>}}, one service per line. |
| {{COUNT}} | returns the number of service contract asking per web-service. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one service per line. If an index value is set on the command line, the output is limited to the provided index. |
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f incoming-service-contract-requests-count -- -n petals-bc-soap --query-services COUNT
archiveService!3
{code}

\\
'{{-t}}' displays a human readable table of all values about incoming web-service contract requests:
{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f archiveService -- -n petals-bc-soap -t
| Service || Value |
---------------------------
| archiveService || 3 |
{code}

h4. {anchor:petals-bc-soap-http-thread-pool}HTTP thread pool

Several metrics about the HTTP thread pool of the HTTP server are available through the sub function '{{http-thread-pool}}' of the monitored object '{{petals-bc-soap}}'. It's usage is:
{code}
-n <component-name>
{code}
where '{{<component-name>}}' is the unique name of the Petals BC SOAP with which it was deployed.
Returned metrics are:
* {{ActiveThreadsMax}}, the maximum number of active threads,
* {{ActiveThreadsCurrent}}, the current number of active threads,
* {{IdleThreadsMax}}, the maximum number of idle threads,
* {{IdleThreadsCurrent}}, the current number of idle threads,
* {{MaxSize}}, the maximum size of the thread pool,
* {{MinSize}}, the minimum size of the thread pool,
* {{EnqueuedRequestsMax}}, the maximum number of requests that are enqueued waiting a thread to be processed,
* {{EnqueuedRequestsCurrent}}, the current number of requests that are enqueued waiting a thread to be processed.

{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f http-thread-pool -- -n petals-bc-soap
ActiveThreadsMax:5 ActiveThreadsCurrent:5 IdleThreadsMax:0 IdleThreadsCurrent:1 MaxSize:50 MinSize:2 EnqueuedRequestsMax:0 EnqueuedRequestsCurrent:0
{code}

h4. {anchor:petals-bc-soap-ws-clients-pools}WS-clients pools

WS-clients pools counters are available through the sub function '{{ws-clients-pools}}' of the monitored object '{{petals-bc-soap}}'. It's usage is:
{code}
-n <component-name> [--list-operations] | [--query-operations [URL] | [INUSE_CUR|INUSE_MAX|EXHAUSTIONS <index>]] | [-t]
{code}
where '{{<component-name>}}' is the unique name of the Petals BC SOAP with which it was deployed.

\\
'{{--list-operations}}' returns the list of all operations of all external web-services that were invoked since the last start of the component. Operations are returned with the following pattern: {{<operation>@<external-ws-url>}}, where {{<operation>}} is the qualified name of the operation and {{<external-ws-url>}} is the URL of the external web-service.
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f ws-clients-pools -- -n petals-bc-soap --list-operations
{http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation@http://localhost:8088/EchoService
{code}

\\
'{{--query-operations}}' returns query result about operation:
|| Query argument || Description ||
| {{URL}} | returns operation names of external web-service by index. It is used to known which operation is associated to index. The output format is: {{<index>!<operation>}}, one operation per line. |
| {{INUSE_CUR}} | returns the number of clients of the client pool that are currently used to process external web-service request, per operation. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index. |
| {{INUSE_MAX}} | returns the maximum number of clients of the client pool that was used to process external web-service request, per operation. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index. |
| {{EXHAUSTIONS}} | returns the number of exhaustions that occurs since the last start of the component, per external web-service operation. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index. |
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f ws-clients-pools -- -n petals-bc-soap --query-operations INUSE_MAX
{http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation@http://localhost:8088/EchoService!1
{code}

\\
'{{-t}}' displays a human readable table of all values about WS client pools:
{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f incoming-ws-requests-count -- -n petals-bc-soap -t
| Service | Operation | MEP || In-use current | In-use max | Exhaustions |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| http://localhost:8088/EchoService | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation | http://www.w3.org/2004/08/wsdl/in-out || 0 | 1 | 0 |
{code}

h4. {anchor:petals-bc-soap-outgoing-ws-requests-count}Outgoing WS request counters

Outgoing WS request counters are available through the sub function '{{outgoing-ws-requests-count}}' of the monitored object '{{petals-bc-soap}}'. It's usage is:
{code}
-n <component-name> [--list-operations] | [--query-operations [NAME] | [SUCCEEDED|FAULT|ERROR <index>]] | [-t]
{code}
where '{{<component-name>}}' is the unique name of the Petals BC SOAP with which it was deployed.

\\
'{{--list-operations}}' returns the list of all operations of all external web-services that were invoked since the last start of the component. Operations are returned with the following pattern: {{<operation>@<external-ws-url>}}, where {{<operation>}} is the qualified name of the operation and {{<external-ws-url>}} is the URL of the external web-service.
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f outgoing-ws-requests-count -- -n petals-bc-soap --list-operations
{http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation@http://localhost:8088/EchoService
{code}

\\
'{{--query-operations}}' returns query result about operation:
|| Query argument || Description ||
| {{NAME}} | returns operation names of external web service by index. It is used to known which operation is associated to index. The output format is: {{<index>!<operation>}}, one operation per line. |
| {{SUCCEEDED}} | returns the number of succeeded external invocation per operation. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index. |
| {{FAULT}} | returns the number of faulty external invocation per operation. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index. |
| {{ERROR}} | returns the number of failed external invocation per operation. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index. |
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f outgoing-ws-requests-count -- -n petals-bc-soap --query-operations SUCCEEDED
{http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation@http://localhost:8088/EchoService!6
{code}

\\
'{{-t}}' displays a human readable table of all values about outgoing WS requests:
{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f outgoing-ws-requests-count -- -n petals-bc-soap -t
| External WS | Operation | MEP | Execution status || Value |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| http://localhost:8088/EchoService | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation | http://www.w3.org/2004/08/wsdl/in-out | PENDING || 0 |
| http://localhost:8088/EchoService | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation | http://www.w3.org/2004/08/wsdl/in-out | ERROR || 1 |
| http://localhost:8088/EchoService | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation | http://www.w3.org/2004/08/wsdl/in-out | SUCCEEDED || 6 |
{code}

h4. {anchor:petals-bc-soap-outgoing-ws-requests-response-times}Outgoing WS request response times

Outgoing WS request response times are available through the sub function '{{outgoing-ws-requests-response-times}}' of the monitored object '{{petals-bc-soap}}'. It's usage is:
{code}
-n <component-name> [--list-operations] | [--query-operations [NAME] | [SUCCEEDED_MIN|SUCCEEDED_AVG|SUCCEEDED_MAX|SUCCEEDED_10P|SUCCEEDED_50P|SUCCEEDED_90P|FAULT_MIN|FAULT_AVG|FAULT_MAX|FAULT_10P|FAULT_50P|FAULT_90P|ERROR_MIN|ERROR_AVG|ERROR_MAX|ERROR_10P|ERROR_50P|ERROR_90P <index>]] | [-t]
{code}
where '{{<component-name>}}' is the unique name of the Petals BC SOAP with which it was deployed.

\\
'{{--list-operations}}' returns the list of all operations of all external web-services that were invoked since the last start of the component. Operations are returned with the following pattern: {{<operation>@<external-ws-url>}}, where {{<operation>}} is the qualified name of the operation and {{<external-ws-url>}} is the URL of the external web-service.
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f outgoing-ws-requests-response-times -- -n petals-bc-soap --list-operations
{http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation@http://localhost:8088/EchoService
{code}

\\
'{{--query-operations}}' returns query result about operation:
|| Query argument || Description ||
| {{NAME}} | returns external operation names by index. It is used to known which operation is associated to index. The output format is: {{<index>!<operation>}}, one operation per line. |
| {{SUCCEEDED_MIN}} | returns the minimum value (in milliseconds) of response times of succeeded external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_AVG}} | returns the average value (in milliseconds) of response times of succeeded external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_MAX}} | returns the maximum value (in milliseconds) of response times of succeeded external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_10P}} | returns the 10-percentile value (in milliseconds) of response times of succeeded external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_50P}} | returns the 50-percentile value (in milliseconds) of response times of succeeded external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{SUCCEEDED_90P}} | returns the 90-percentile value (in milliseconds) of response times of succeeded external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_MIN}} | returns the minimum value (in milliseconds) of response times of faulty external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_AVG}} | returns the average value (in milliseconds) of response times of faulty external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_MAX}} | returns the maximum value (in milliseconds) of response times of faulty external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_10P}} | returns the 10-percentile value (in milliseconds) of response times of faulty external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_50P}} | returns the 50-percentile value (in milliseconds) of response times of faulty external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{FAULT_90P}} | returns the 90-percentile value (in milliseconds) of response times of faulty external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_MIN}} | returns the minimum value (in milliseconds) of response times of failed external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_AVG}} | returns the average value (in milliseconds) of response times of failed external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_MAX}} | returns the maximum value (in milliseconds) of response times of failed external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_10P}} | returns the 10-percentile value (in milliseconds) of response times of failed external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_50P}} | returns the 50-percentile value (in milliseconds) of response times of failed external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
| {{ERROR_90P}} | returns the 90-percentile value (in milliseconds) of response times of failed external invocation per operation on the current sample. The operation is expressed by its index. The output format is: {{<index>!<value>}}, one operation per line. If an index value is set on the command line, the output is limited to the provided index |
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f outgoing-ws-requests-response-times -- -n petals-bc-soap --query-operations SUCCEEDED_50P
{http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation@http://localhost:8088/EchoService!16
{code}

\\
'{{-t}}' displays a human readable table of all values about incoming WS-request response times:
{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o petals-bc-soap -f outgoing-ws-requests-response-times -- -n petals-bc-soap -t
| External WS | Operation | MEP | Execution status || Min | Avg | Max | 10P | 50P | 90P |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| http://localhost:8088/EchoService | {http://esb.mediation.archi.acoss.fr/services/echo/1.0}echoOperation | http://www.w3.org/2004/08/wsdl/in-out | SUCCEEDED || 12 | 21 | 46 | 15 | 16 | 26 |
{code}

h2. Petals Container

h3. Local transporter

h4. {anchor:local-transporter-delivered-messages}Delivered messages

Several metrics about the messages delivered by the local transporter are available through the sub function '{{delivered-messages}}' of the monitored object '{{local-transporter}}'. This monitoring sub-function does not expect options.
Returned metrics are:
* {{Pending}}, the number of message delivery in progress,
* {{Succeeded}}, the number of message delivered successfully,
* {{Error}}, the number of message delivered with error.

{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o local-transporter -f delivered-messages --
Pending:1 Succeeded:589565 Error:3
{code}

h3. Remote transporter

h4. {anchor:remote-transporter-outgoing-connection-pool}Outgoing connection pools

Several metrics about the outgoing connection pools of the remoter transporter are available through the sub function '{{outgoing-connections}}' of the monitored object '{{tcp-transporter}}'. It's usage is:{code}
[--list-containers] | [--query-containers [NAME] | [MAX_ACTIVE|ACTIVE|MAX_IDLE|IDLE|MAX_SIZE|MIN_SIZE|ESTABLISHED <index>]] | [-t]
{code}

\\
'{{--list-containers}}' returns the list of all remote-containers for which connections was established, since the last start of the transporter.
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f outgoing-connections -- --list-containers
sample-0
sample-1
sample-2
{code}

\\
'{{--query-containers}}' returns query result about remote container:
|| Query argument || Description ||
| {{NAME}} | returns remote container names by index. It is used to known which remote container name is associated to index. The output format is: {{<index>!<remote-container>}}, one remote container per line. |
| {{MAX_ACTIVE}} | returns the *max number of active* connections per remote container. The remote container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
| {{ACTIVE}} | returns the *current number of active* connections per remote container. The remote container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
| {{MAX_IDLE}} | returns the *max number of idle connections per remote container. The remote container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
| {{IDLE}} | returns the *current number of idle* connections per remote container. The remote container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
| {{MAX_SIZE}} | returns the *max size* of the connection pool per remote container. The remote container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
| {{MIN_SIZE}} | returns the *min size* of the connection pool per remote container. The remote container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
| {{ESTABLISHED}} | returns the *number of connections established* per remote-container since the last startup of the remote transporter. The remote-container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f outgoing-connections -- --query-containers ACTIVE
sample-0!182830
sample-1!86587
sample-2!365448
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f outgoing-connections -- --query-containers ACTIVE sample-1
86587
{code}

\\
'{{-t}}' displays a human readable table of all values about delivered messages:
{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f outgoing-connections
| RemoteContainer || ActiveConnectionsMax | ActiveConnectionsCurrent | IdleConnectionsMax | IdleConnectionsCurrent | MaxSize | MinSize | EstablishedConnections |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
| sample-0 || 5 | 2 | 2 | 0 | 10 | 0 | 13 |
| sample-1 || 6 | 1 | 1 | 0 | 10 | 0 | 23 |
| sample-2 || 4 | 3 | 4 | 0 | 10 | 0 | 53 |
{code}

h4. {anchor:remote-transporter-delivered-outgoing-messages}Delivered outgoing messages

Delivered outgoing messages counters are available through the sub function '{{delivered-outgoing-messages}}' of the monitored object '{{tcp-transporter}}'. It's usage is:
{code}
[--list-containers] | [--query-containers [NAME] | [SUCCEEDED|PENDING|ERROR <index>]] | [-t]
{code}

\\
'{{--list-containers}}' returns the list of all remote-containers for which messages was sent, since the last start of the transporter.
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f delivered-outgoing-messages -- --list-containers
sample-0
sample-1
sample-2
{code}

\\
'{{--query-containers}}' returns query result about remote container:
|| Query argument || Description ||
| {{NAME}} | returns remote container names by index. It is used to known which remote container name is associated to index. The output format is: {{<index>!<remote-container>}}, one remote container per line. |
| {{SUCCEEDED}} | returns the number of succeeded delivered messages per remote container. The remote container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
| {{PENDING}} | returns the number of pending message delivery per remote container. The remote container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
| {{ERROR}} | returns the number of delivered messages with error per remote-container. The remote-container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f delivered-outgoing-messages -- --query-containers SUCCEEDED
sample-0!182830
sample-1!86587
sample-2!365448
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f delivered-outgoing-messages -- --query-containers SUCCEEDED sample-1
86587
{code}

\\
'{{-t}}' displays a human readable table of all values about delivered messages:
{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f delivered-outgoing-messages -- -t
| Remote Container | Delivery Status || Value |
------------------------------------------------
| sample-0 | ERROR || 1 |
| sample-0 | SUCCEEDED || 182830 |
| sample-0 | PENDING || 5 |
| sample-1 | ERROR || 0 |
| sample-1 | SUCCEEDED || 86587 |
| sample-1 | PENDING || 0 |
| sample-2 | ERROR || 2 |
| sample-2 | SUCCEEDED || 365448 |
| sample-2 | PENDING || 0 |
{code}

h4. {anchor:remote-transporter-incoming-connection-pool}Incoming connection pools

Several metrics about the incoming connection pools of the remoter transporter are available through the sub function '{{incoming-connections}}' of the monitored object '{{tcp-transporter}}'. It's usage is:{code}
[--list-containers] | [--query-containers [NAME] | [MAX_ACTIVE|ACTIVE|MAX_IDLE|IDLE|ESTABLISHED <index>]] | [-t]
{code}

\\
'{{--list-containers}}' returns the list of all remote-containers for which connections was established, since the last start of the transporter.
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f incoming-connections -- --list-containers
sample-0
sample-1
sample-2
{code}

\\
'{{--query-containers}}' returns query result about remote container:
|| Query argument || Description ||
| {{NAME}} | returns remote container names by index. It is used to known which remote container name is associated to index. The output format is: {{<index>!<remote-container>}}, one remote container per line. |
| {{MAX_ACTIVE}} | returns the *max number of active* connections per remote container. The remote container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
| {{ACTIVE}} | returns the *current number of active* connections per remote container. The remote container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
| {{MAX_IDLE}} | returns the *max number of idle connections per remote container. The remote container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
| {{IDLE}} | returns the *current number of idle* connections per remote container. The remote container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
| {{ESTABLISHED}} | returns the *number of connections established* per remote-container since the last startup of the remote transporter. The remote-container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f incoming-connections -- --query-containers ACTIVE
sample-0!182830
sample-1!86587
sample-2!365448
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f incoming-connections -- --query-containers ACTIVE sample-1
86587
{code}

\\
'{{-t}}' displays a human readable table of all values about delivered messages:
{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f incoming-connections
| RemoteContainer || ActiveConnectionsMax | ActiveConnectionsCurrent | IdleConnectionsMax | IdleConnectionsCurrent | EstablishedConnections |
---------------------------------------------------------------------------------------------------------------------------------------------
| sample-0 || 5 | 2 | 2 | 0 | 13 |
| sample-1 || 6 | 1 | 1 | 0 | 23 |
| sample-2 || 4 | 3 | 4 | 0 | 53 |
{code}

h4. {anchor:remote-transporter-delivered-incoming-messages}Delivered incoming messages

Delivered incoming messages counters are available through the sub function '{{delivered-incoming-messages}}' of the monitored object '{{tcp-transporter}}'. It's usage is:
{code}
[--list-containers] | [--query-containers [NAME] | [SUCCEEDED|PENDING|ERROR <index>]] | [-t]
{code}

\\
'{{--list-containers}}' returns the list of all remote-containers for which messages was received, since the last start of the transporter.
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f delivered-incoming-messages -- --list-containers
sample-0
sample-1
sample-2
{code}

\\
'{{--query-containers}}' returns query result about remote container:
|| Query argument || Description ||
| {{NAME}} | returns remote container names by index. It is used to known which remote container name is associated to index. The output format is: {{<index>!<remote-container>}}, one remote container per line. |
| {{SUCCEEDED}} | returns the number of succeeded delivered messages per remote container. The remote container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
| {{PENDING}} | returns the number of pending message delivery per remote container. The remote container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
| {{ERROR}} | returns the number of delivered messages with error per remote-container. The remote-container is expressed by its index. The output format is: {{<index>!<value>}}, one remote container per line. If an index value is set on the command line, the output is limited to the provided index, and only the value is displayed. |
{code}
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f delivered-incoming-messages -- --query-containers SUCCEEDED
sample-0!182830
sample-1!86587
sample-2!365448
>./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f delivered-incoming-messages -- --query-containers SUCCEEDED sample-1
86587
{code}

\\
'{{-t}}' displays a human readable table of all values about delivered messages:
{code}
> ./petals-cli.sh -h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f delivered-incoming-messages -- -t
| Remote Container | Delivery Status || Value |
------------------------------------------------
| sample-0 | ERROR || 1 |
| sample-0 | SUCCEEDED || 182830 |
| sample-0 | PENDING || 5 |
| sample-1 | ERROR || 0 |
| sample-1 | SUCCEEDED || 86587 |
| sample-1 | PENDING || 0 |
| sample-2 | ERROR || 2 |
| sample-2 | SUCCEEDED || 365448 |
| sample-2 | PENDING || 0 |
{code}

{anchor:subscription-objects}
h1. Subscription objects for Nagios

Two subscription objects are available and detect the following defects:
* {{generic}}, associated to the CDK-based components, detects:
|| Defect || Description ||
| {{org.ow2.petals.component.framework.process.message.acceptor.pool.thread.dead}} | A message exchange acceptor thread is dead unexpectedly ! |
| {{org.ow2.petals.component.framework.process.message.acceptor.pool.exhausted}} | No more thread is available to accept new message exchange ! |
| {{org.ow2.petals.component.framework.process.message.processor.thread.pool.exhausted}} | No more thread is available to run a message exchange processor ! |
* {{petals-bc-soap}}, associated to the Petals BC SOAP, detects:
|| Defect || Description ||
| {{org.ow2.petals.component.framework.process.message.acceptor.pool.thread.dead}} | A message exchange acceptor thread is dead unexpectedly ! |
| {{org.ow2.petals.component.framework.process.message.acceptor.pool.exhausted}} | No more thread is available to accept new message exchange ! |
| {{org.ow2.petals.component.framework.process.message.processor.thread.pool.exhausted}} | No more thread is available to run a message exchange processor ! |
| {{org.ow2.petals.bc.soap.httpserver.threadpool.exhausted}} | No more thread is available in the HTTP thread pool to process incoming requests ! |
| {{org.ow2.petals.bc.soap.serviceclientspool.exhausted}} | No more web-service clients is available in its pool to process outgoing requests ! |

Each subscriptions object for Nagios has the following parameters:
* {{-n <component-name}}, to identify the JBI component to which the (un)subscription applies,
* {{-t <mapping-file-url>}}, to define a file containing the mapping rules to map your Nagios configuration with element of received notifications.

The mapping rule file is a properties file containing:
{code}
emitter.<defect_emitter> = <nagios_host>
name.<defect_name> = <nagios_service>
{code}
The {{<defect_emitter>}} identifier is based on the template: <component-id>@<hostname>, where <component-id> is the identifier of the component (ex: JBI component identifier) sending the defect from the Petals ESB container running on <hostname>, and <defect_name> is one of the previous one.