Hello David, Here is a web page that summarizes all the CXF response time of one cluster node of a live application I work on. It will show you real data.
That are all the informations we need. This JSP page (cxf.jsp) is just used for troubleshooting ; we use Hyperic for monitoring with the attached plugin (cxf-plugin.xml). Hyperic plugin for CXF : http://xebia-france.googlecode.com/svn/jmx/jmx-demo/trunk/src/main/hyperic/cxf-plugin.xml CXF JMX metrics page : http://xebia-france.googlecode.com/svn/jmx/jmx-demo/trunk/src/main/webapp/tools/jmx/cxf.jsp Hope this helps, Cyrille -- Cyrille Le Clerc [email protected] On Fri, Mar 12, 2010 at 7:42 PM, David Valeri <[email protected]> wrote: > I've got CXF running in an OSGi container and managing its own Jetty instance > rather than using the container's HTTP service. I have JMX enabled on CXF > per the instructions in the documentation. > > I'm seeing the following MBeans in JConsole: > > org.apache.cxf.Bus > org.apache.cxf.Bus.Service.Endpoint > org.apache.cxf.WorkQueueManager > org.apache.cxf.transport.http_jetty.jettyhttphandler > > I'm not seeing a bean for CXFJettySslSocketConnector because I am deploying a > custom connector and the bean is being registered by Jetty based on my custom > class name. > > In these beans, I am not seeing much that is indicative of the runtime health > of the services running in CXF. The Jetty connector and the optional > statistics handler, which I have enabled, collect performance metrics that > can be used to gauge the overall health of all services running on a > particular port and the CXF metrics allow one to gauge if the services > started appropriately. > > The docs mention a CounterRepository that stores max response time. Is there > anything else in CXF worth monitoring that can indicate runtime health? > > Thank you in advance for any help! >
<?xml version="1.0"?> <!-- --> <!-- Copyright 2009 Xebia and the original author or authors. --> <!-- --> <!-- Licensed under the Apache License, Version 2.0 (the "License"); --> <!-- you may not use this file except in compliance with the License. --> <!-- You may obtain a copy of the License at --> <!-- --> <!-- http://www.apache.org/licenses/LICENSE-2.0 --> <!-- --> <!-- Unless required by applicable law or agreed to in writing, software --> <!-- distributed under the License is distributed on an "AS IS" BASIS, --> <!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> <!-- See the License for the specific language governing permissions and --> <!-- limitations under the License. --> <!-- --> <!-- Hyperic jvm-plugin extensions for CXF metrics --> <!-- --> <plugin name="cxf"> <service name="CXF Endpoint" server="Sun JVM" version="1.5"> <property name="OBJECT_NAME" value="org.apache.cxf:type=Performance.Counter.Server,path=*,bus.id=*,service=*,port=*,operation=*" /> <!-- Don't add service in autoinventory name to limit the name length --> <property name="AUTOINVENTORY_NAME" value="%serverName% %path% %port% %operation% CXF Endpoint" /> <plugin type="autoinventory" /> <config> <option name="path" description="Path of the web application" default="/" /> <option name="bus.id" description="ID of the CXF Bus" /> <option name="service" description="Name of the Service" /> <option name="port" description="Name of the Port" /> <option name="operation" description="Name of the Operation" /> </config> <filter name="template" value="${OBJECT_NAME}:${alias}" /> <metric name="Availability" indicator="true" /> <metric name="Number of Invocations" alias="NumInvocations" indicator="true" template="${OBJECT_NAME}:${alias}" units="none" type="trendsup" /> <metric name="Total Handling Time" alias="TotalHandlingTime" indicator="true" template="${OBJECT_NAME}:${alias}" units="mu" type="trendsup" /> <metric name="Num Checked Application Faults" alias="NumCheckedApplicationFaults" indicator="true" template="${OBJECT_NAME}:${alias}" units="none" type="trendsup" /> <metric name="Num Logical Runtime Faults" alias="NumLogicalRuntimeFaults" indicator="true" template="${OBJECT_NAME}:${alias}" units="none" type="trendsup" /> <metric name="Num Runtime Faults" alias="NumRuntimeFaults" indicator="true" template="${OBJECT_NAME}:${alias}" units="none" type="trendsup" /> <metric name="Num UnChecked Application Faults" alias="NumUnCheckedApplicationFaults" indicator="true" template="${OBJECT_NAME}:${alias}" units="none" type="trendsup" /> </service> <service name="CXF Client" server="Sun JVM" version="1.5"> <property name="OBJECT_NAME" value="org.apache.cxf:type=Performance.Counter.Client,path=*,bus.id=*,service=*,port=*,operation=*" /> <!-- Don't add service in autoinventory name to limit the name length --> <property name="AUTOINVENTORY_NAME" value="%serverName% %path% %port% %operation% CXF Client" /> <plugin type="autoinventory" /> <config> <option name="path" description="Path of the web application" default="/" /> <option name="bus.id" description="ID of the CXF Bus" /> <option name="service" description="Name of the Service" /> <option name="port" description="Name of the Port" /> <option name="operation" description="Name of the Operation" /> </config> <filter name="template" value="${OBJECT_NAME}:${alias}" /> <metric name="Availability" indicator="true" /> <metric name="Number of Invocations" alias="NumInvocations" indicator="true" template="${OBJECT_NAME}:${alias}" units="none" type="trendsup" /> <metric name="Total Handling Time" alias="TotalHandlingTime" indicator="true" template="${OBJECT_NAME}:${alias}" units="mu" type="trendsup" /> <metric name="Num Checked Application Faults" alias="NumCheckedApplicationFaults" indicator="true" template="${OBJECT_NAME}:${alias}" units="none" type="trendsup" /> <metric name="Num Logical Runtime Faults" alias="NumLogicalRuntimeFaults" indicator="true" template="${OBJECT_NAME}:${alias}" units="none" type="trendsup" /> <metric name="Num Runtime Faults" alias="NumRuntimeFaults" indicator="true" template="${OBJECT_NAME}:${alias}" units="none" type="trendsup" /> <metric name="Num UnChecked Application Faults" alias="NumUnCheckedApplicationFaults" indicator="true" template="${OBJECT_NAME}:${alias}" units="none" type="trendsup" /> </service> </plugin>
