6 Replies Latest reply on Jun 21, 2012 2:32 PM by edevera

    Error when requesting metrics for a Camel Route based service

    edevera

      When requesting metrics for a Camel Route based service, I get an error with the following stacktrace:

       

      16:11:00,364 ERROR [org.jboss.as.controller.management-operation] (HttpManagementService-threads - 3) JBAS014612: Operation ("show-metrics") failed - address: ({"subsystem" => "switchyard"}): java.lang.NullPointerException

                at org.switchyard.as7.extension.admin.ModelNodeCreationUtil.createServiceMetricsNode(ModelNodeCreationUtil.java:504) [switchyard-deploy-jboss-as7-0.4.0.Final.jar:0.4.0.Final]

                at org.switchyard.as7.extension.admin.SwitchYardSubsystemShowMetrics$1.execute(SwitchYardSubsystemShowMetrics.java:79) [switchyard-deploy-jboss-as7-0.4.0.Final.jar:0.4.0.Final]

                at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:385) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]

                at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:272) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]

                at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:200) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]

                at org.switchyard.as7.extension.admin.SwitchYardSubsystemShowMetrics.execute(SwitchYardSubsystemShowMetrics.java:93) [switchyard-deploy-jboss-as7-0.4.0.Final.jar:0.4.0.Final]

                at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:385) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]

                at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:272) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]

                at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:200) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]

                at org.jboss.as.controller.ModelControllerImpl$DefaultPrepareStepHandler.execute(ModelControllerImpl.java:466) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]

                at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:385) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]

                at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:272) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]

                at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:200) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]

                at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:121) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]

                at org.jboss.as.controller.ModelControllerImpl$1.execute(ModelControllerImpl.java:309) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]

                at org.jboss.as.controller.ModelControllerImpl$1.execute(ModelControllerImpl.java:299) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]

                at org.jboss.as.domain.http.server.DomainApiHandler.processRequest(DomainApiHandler.java:294)

                at org.jboss.as.domain.http.server.DomainApiHandler.doHandle(DomainApiHandler.java:201)

                at org.jboss.as.domain.http.server.DomainApiHandler.handle(DomainApiHandler.java:208)

                at org.jboss.as.domain.http.server.security.SubjectAssociationHandler.handle(SubjectAssociationHandler.java:51)

                at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:78)

                at org.jboss.sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:69)

                at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:81)

                at org.jboss.sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:710)

                at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:78)

                at org.jboss.as.domain.http.server.RealmReadinessFilter.doFilter(RealmReadinessFilter.java:54)

                at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:81)

                at org.jboss.sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:682)

                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_33]

                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_33]

                at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_33]

                at org.jboss.threads.JBossThread.run(JBossThread.java:122)

       

      The service works but the metrics seem not to.

        • 1. Re: Error when requesting metrics for a Camel Route based service
          kcbabo

          Hmm ... are you using the CLI or the console?  I planned on playing with the metrics stuff later today anyway, so I'll verify that it's working in my environment at least.

          • 2. Re: Error when requesting metrics for a Camel Route based service
            edevera

            Hi Keith,

             

            I have tried the following:

             

            [standalone@localhost:9999 /] /subsystem=switchyard:list-services 

            {

                "outcome" => "success",

                "result" => [{

                    "name" => "{urn:com:zimory:cloud:connect:central:dataservices:producers:basic:itop:0.1.0}CentralToCMDBService",

                    "application" => "{urn:com:zimory:cloud:connect:central:dataservices:producers:basic:itop:0.1.0}camel-service"

                }]

            }

             

            [standalone@localhost:9999 /] /subsystem=switchyard:show-metrics

            {

                "outcome" => "success",

                "result" => [{

                    "successCount" => 0,

                    "faultCount" => 0,

                    "totalCount" => 0,

                    "averageTime" => 0.0,

                    "minTime" => 0,

                    "maxTime" => 0,

                    "totalTime" => 0L

                }]

            }

             

             

            [standalone@localhost:9999 /] /subsystem=switchyard:show-metrics(service-name=CentralToCMDBService)                                                                             

            {"outcome" => "success"}

             

             

            standalone@localhost:9999 /] /subsystem=switchyard:show-metrics(service-name={urn:com:zimory:cloud:connect:central:dataservices:producers:basic:itop:0.1.0}CentralToCMDBService)

            {

                "outcome" => "failed",

                "result" => undefined,

                "failure-description" => "JBAS014749: Operation handler failed: null",

                "rolled-back" => true

            }

             

            So only the last one looks ugly.

            • 3. Re: Error when requesting metrics for a Camel Route based service
              kcbabo

              I see. Do the metrics show correctly in the console?

              • 4. Re: Error when requesting metrics for a Camel Route based service
                rcernich

                Hey Eduardo,

                 

                Try putting quotes around the name expression, e.g.:

                 

                /subsystem=switchyard:show-metrics(service-name="{urn:com:zimory:cloud:connect:central:dataservices:producers:basic:itop:0.1.0}CentralToCMDBService")

                 

                I've seen the CLI parser barf on URI values in the past.

                 

                Hope that helps,

                Rob

                • 5. Re: Error when requesting metrics for a Camel Route based service
                  edevera

                  Thanks for the help.

                   

                  Keith, the console shows this:

                  switchyard_service_error.png

                   

                  Rob, when I try what you have suggested I get the following output:

                   

                  [standalone@localhost:9999 /] /subsystem=switchyard:show-metrics(service-name="{urn:com:zimory:cloud:connect:central:dataservices:producers:basic:itop:0.1.0}CentralToCMDBService")

                  {

                      "outcome" => "failed",

                      "result" => undefined,

                      "failure-description" => "JBAS014749: Operation handler failed: null",

                      "rolled-back" => true

                  }

                   

                  Again, thanks for the help.

                  • 6. Re: Error when requesting metrics for a Camel Route based service
                    edevera

                    This has proven to be a service promotion problem as discussed here. The moment I fixed the promote attribute, metrics are showed properly.