{section}
{column}
h1. Introduction
All components based on the Petals Component Development Kit provide following metrics:
* provider side:
** message exchange acceptor thread pool metrics,
** message exchange processor object pool metrics,
** message exchange processor thread pool metrics,
** message exchange counter
** message exchange processing response times,
* consumer side:
** no metric.
{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. Monitoring the provider side
h2. Monitoring the message exchange acceptor thread pool
!message-exchange-acceptor-thread-pool.png|align=center!
See [Creating a graph using a simple data|How to create a graph with Cacti#Creating a graph using a simple data] to graph the stats of the thread pool accepting message exchanges:
* Script/Command of the data input method: {{petals-cli.sh \-h <petals_host> \-n <petals_jmx_port> \-u <petals_jmx_user> \-p <petals_jmx_password> \-c \-- monitoring \-o generic \-f mex-acceptor-thread-pool \-- \-n <component-id>}}
* Output fields of the script/command:
|| Name || Description || Type ||
| {{AllocatedThreadsMax}} | The maximum number of allocated threads | GAUGE |
| {{AllocatedThreadsCurrent}} | The current number of allocated threads | GAUGE |
h2. Monitoring the message exchange processor object pool
!message-exchange-processor-object-pool.png|align=center!
See [Creating a graph using a simple data|How to create a graph with Cacti#Creating a graph using a simple data] to graph the stats of the object pool of message exchanges:
* Script/Command of the data input method: {{petals-cli.sh \-h <petals_host> \-n <petals_jmx_port> \-u <petals_jmx_user> \-p <petals_jmx_password> \-c \-- monitoring \-o generic \-f mex-processor-object-pool \-- \-n <component-id>}}
* Output fields of the script/command:
|| Name || Description || Type ||
| {{BorrowedObjectsMax}} | The maximum number of borrowed objects | GAUGE |
| {{BorrowedObjectsCurrent}} | The current number of borrowed objects | GAUGE |
| {{IdleObjectsMax}} | The maximum number of idle objects | GAUGE |
| {{IdleObjectsCurrent}} | The current number of idle objects | GAUGE |
| {{MaxSize}} | The maximum size of the object pool | GAUGE |
| {{MinIdleSize}} | The minimum size of the object pool | GAUGE |
| {{Exhaustions}} | The number of exhaustions of the object pool | COUNTER |
h2. Monitoring the message exchange processor thread pool
!message-exchange-processor-thread-pool.png|align=center!
See [Creating a graph using a simple data|How to create a graph with Cacti#Creating a graph using a simple data] to graph the stats of the thread pool of message exchanges:
* Script/Command of the data input method: {{petals-cli.sh \-h <petals_host> \-n <petals_jmx_port> \-u <petals_jmx_user> \-p <petals_jmx_password> \-c \-- monitoring \-o generic \-f mex-processor-thread-pool \-- \-n <component-id>}}
* Output fields of the script/command:
|| Name || Description || Type ||
| {{AllocatedThreadsMax}} | The maximum number of allocated threads | GAUGE |
| {{AllocatedThreadsCurrent}} | The current number of allocated threads | GAUGE |
| {{IdleThreadsMax}} | The maximum number of idle threads | GAUGE |
| {{IdleThreadsCurrent}} | The current number of idle threads | GAUGE |
| {{MaxSize}} | The maximum size of the thread pool | GAUGE |
| {{MinSize}} | The minimum size of the thread pool | GAUGE |
| {{EnqueuedRequestsMax}} | The maximum number of requests that are enqueued waiting a thread to be processed | GAUGE |
| {{EnqueuedRequestsCurrent}} | The current number of requests that are enqueued waiting a thread to be processed | GAUGE |
h2. Monitoring the service provider invokation number per operation
!service-providermessage-exchange-processor-thread-pool.png|align=center!
See [Creating a graph using a data query|How to create a graph with Cacti#Creating a graph using a data query] to graph the stats about invokation number of a service provider:
* the data query definition to put in a file:
{code}
<interface>
<name>Get service provider invokation number of the BC Soap per operation</name>
<script_path>petals-cli.sh</script_path>
<arg_prepend>-h localhost -n 7700 -u petals -p petals -c -- monitoring -o generic -f service-provider-invokations-count</arg_prepend>
<arg_index>-- -n petals-bc-soap --list-endpoints</arg_index>
<arg_query>-- -n petals-bc-soap --query-endpoints</arg_query>
<arg_get>-- -n petals-bc-soap --query-endpoints</arg_get>
<output_delimeter>!</output_delimeter>
<index_order>filterName</index_order>
<index_order_type>alphanumeric</index_order_type>
<!--index_title_format>|chosen_order_field|</index_title_format-->
<fields>
<filterName>
<name>Operation name</name>
<direction>input</direction>
<query_name>NAME</query_name>
</filterName>
<succeeded>
<name>Succeeded invokation counter</name>
<direction>output</direction>
<query_name>SUCCEEDED</query_name>
</succeeded>
<error>
<name>Failed invokation counter</name>
<direction>output</direction>
<query_name>ERROR</query_name>
</error>
<fault>
<name>Faulty invokation counter</name>
<direction>output</direction>
<query_name>FAULT</query_name>
</fault>
<pending>
<name>Pending invokation counter</name>
<direction>output</direction>
<query_name>PENDING</query_name>
</pending>
</fields>
</interface>
{code}
* Output fields of the script/command:
|| Name || Description || Type ||
| {{succeeded}} | The succeeded invokation counter | COUNTER |
| {{error}} | The failed invokation counter | COUNTER |
| {{fault}} | The faulty invokation counter | COUNTER |
| {{pending}} | The pending invokation counter | GAUGE |
{column}
h1. Introduction
All components based on the Petals Component Development Kit provide following metrics:
* provider side:
** message exchange acceptor thread pool metrics,
** message exchange processor object pool metrics,
** message exchange processor thread pool metrics,
** message exchange counter
** message exchange processing response times,
* consumer side:
** no metric.
{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. Monitoring the provider side
h2. Monitoring the message exchange acceptor thread pool
!message-exchange-acceptor-thread-pool.png|align=center!
See [Creating a graph using a simple data|How to create a graph with Cacti#Creating a graph using a simple data] to graph the stats of the thread pool accepting message exchanges:
* Script/Command of the data input method: {{petals-cli.sh \-h <petals_host> \-n <petals_jmx_port> \-u <petals_jmx_user> \-p <petals_jmx_password> \-c \-- monitoring \-o generic \-f mex-acceptor-thread-pool \-- \-n <component-id>}}
* Output fields of the script/command:
|| Name || Description || Type ||
| {{AllocatedThreadsMax}} | The maximum number of allocated threads | GAUGE |
| {{AllocatedThreadsCurrent}} | The current number of allocated threads | GAUGE |
h2. Monitoring the message exchange processor object pool
!message-exchange-processor-object-pool.png|align=center!
See [Creating a graph using a simple data|How to create a graph with Cacti#Creating a graph using a simple data] to graph the stats of the object pool of message exchanges:
* Script/Command of the data input method: {{petals-cli.sh \-h <petals_host> \-n <petals_jmx_port> \-u <petals_jmx_user> \-p <petals_jmx_password> \-c \-- monitoring \-o generic \-f mex-processor-object-pool \-- \-n <component-id>}}
* Output fields of the script/command:
|| Name || Description || Type ||
| {{BorrowedObjectsMax}} | The maximum number of borrowed objects | GAUGE |
| {{BorrowedObjectsCurrent}} | The current number of borrowed objects | GAUGE |
| {{IdleObjectsMax}} | The maximum number of idle objects | GAUGE |
| {{IdleObjectsCurrent}} | The current number of idle objects | GAUGE |
| {{MaxSize}} | The maximum size of the object pool | GAUGE |
| {{MinIdleSize}} | The minimum size of the object pool | GAUGE |
| {{Exhaustions}} | The number of exhaustions of the object pool | COUNTER |
h2. Monitoring the message exchange processor thread pool
!message-exchange-processor-thread-pool.png|align=center!
See [Creating a graph using a simple data|How to create a graph with Cacti#Creating a graph using a simple data] to graph the stats of the thread pool of message exchanges:
* Script/Command of the data input method: {{petals-cli.sh \-h <petals_host> \-n <petals_jmx_port> \-u <petals_jmx_user> \-p <petals_jmx_password> \-c \-- monitoring \-o generic \-f mex-processor-thread-pool \-- \-n <component-id>}}
* Output fields of the script/command:
|| Name || Description || Type ||
| {{AllocatedThreadsMax}} | The maximum number of allocated threads | GAUGE |
| {{AllocatedThreadsCurrent}} | The current number of allocated threads | GAUGE |
| {{IdleThreadsMax}} | The maximum number of idle threads | GAUGE |
| {{IdleThreadsCurrent}} | The current number of idle threads | GAUGE |
| {{MaxSize}} | The maximum size of the thread pool | GAUGE |
| {{MinSize}} | The minimum size of the thread pool | GAUGE |
| {{EnqueuedRequestsMax}} | The maximum number of requests that are enqueued waiting a thread to be processed | GAUGE |
| {{EnqueuedRequestsCurrent}} | The current number of requests that are enqueued waiting a thread to be processed | GAUGE |
h2. Monitoring the service provider invokation number per operation
!service-providermessage-exchange-processor-thread-pool.png|align=center!
See [Creating a graph using a data query|How to create a graph with Cacti#Creating a graph using a data query] to graph the stats about invokation number of a service provider:
* the data query definition to put in a file:
{code}
<interface>
<name>Get service provider invokation number of the BC Soap per operation</name>
<script_path>petals-cli.sh</script_path>
<arg_prepend>-h localhost -n 7700 -u petals -p petals -c -- monitoring -o generic -f service-provider-invokations-count</arg_prepend>
<arg_index>-- -n petals-bc-soap --list-endpoints</arg_index>
<arg_query>-- -n petals-bc-soap --query-endpoints</arg_query>
<arg_get>-- -n petals-bc-soap --query-endpoints</arg_get>
<output_delimeter>!</output_delimeter>
<index_order>filterName</index_order>
<index_order_type>alphanumeric</index_order_type>
<!--index_title_format>|chosen_order_field|</index_title_format-->
<fields>
<filterName>
<name>Operation name</name>
<direction>input</direction>
<query_name>NAME</query_name>
</filterName>
<succeeded>
<name>Succeeded invokation counter</name>
<direction>output</direction>
<query_name>SUCCEEDED</query_name>
</succeeded>
<error>
<name>Failed invokation counter</name>
<direction>output</direction>
<query_name>ERROR</query_name>
</error>
<fault>
<name>Faulty invokation counter</name>
<direction>output</direction>
<query_name>FAULT</query_name>
</fault>
<pending>
<name>Pending invokation counter</name>
<direction>output</direction>
<query_name>PENDING</query_name>
</pending>
</fields>
</interface>
{code}
* Output fields of the script/command:
|| Name || Description || Type ||
| {{succeeded}} | The succeeded invokation counter | COUNTER |
| {{error}} | The failed invokation counter | COUNTER |
| {{fault}} | The faulty invokation counter | COUNTER |
| {{pending}} | The pending invokation counter | GAUGE |