Announcement Announcement Module
Collapse

Spring Modules forum decommissioned in favor of Spring Extensions

As the Spring Modules project has been replaced by the Spring Extensions (http://www.springsource.org/extensions) project, this forum has been decommissioned in favour of Spring Extensions one at:
http://forum.springsource.org/forumdisplay.php?f=44

Please see the Spring Extensions home page for a complete list of current projects in Java, .NET and ActionScript. You can also propose one if you want.

Cheers,
Costin Leau
SpringSource - http://www.SpringSource.com- Spring Training, Consulting, and Support - "From the Source"
http://twitter.com/costinl
See more
See less
module proposall - Spring monitoring Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • module proposall - Spring monitoring

    I want to know if someone is interesting in a monitoring-module.
    i'll have to work next month in an application where i need to compute the execution time for different layers (principally services/bos and daos), logging that to a file and optionally present this information in a web page and as a JMX bean. Also i need to active or deactivate the trace and monitoring module via JMX beans or configure some Monitor for to a particular bean via jmx.

    For the trace we are planning to log something like this
    Code:
    bean-name[business-object-entities] - method[getAllEntities] - user[USERNAME]time[1234 ms]
       sub operation - - bean-name[crud-generic-dao] - method[getAll] - time[234 ms]
           sub operation - - bean-name[crud-dao-helper] - method[transform] - time[100 ms]
       sub operation - - bean-name[intranet-service-FN] - method[getData] - time[1000 ms]
    Basically i need to profile and show the execution stack of the application at any time, but .... it should be possible to active or deactivate this on the fly, by putting or removing a spring context file outside the application (${jboss.deploy.dir} in runtime and do a hot deploy of the application. Also it should be possible to active or deactivate some functionallities by a JMX Bean, like stop or start trace, monitor at bean lavel or method level, activate user monitor at application level, bean level or method level, etc.

    For the moment i only need to apply an aspect (may be with the autoproxy capability) to all the beans with names (for example ending with *-bo and *-dao) or beans extending some interface that indicate the layer (BusinessObject, DataAccessObject, etc)

    The monitoring would possible present information like this
    Code:
    Monitor[example.business.object-saveAllEntities]
       currentExecutions=2
       totalError=1
       minTime=300
       maxTime=1045
       totalExecutions=45

  • #2
    +1 for this excellent idea. Any idea about the time frame for the first release ?

    Comment


    • #3
      about a month from today, the first beta release.

      Comment


      • #4
        similar project

        @surrizola: have you made much progress on your project? we've just launched a very similar open source library called beet (http://beet.sourceforge.net). it's for spring apps, and adds HTTP requests and SQL statements to the logging. so for example

        user, session, http-request, request uri, parameters, date, runtime
        method call 1, parameters, result, date, runtime
        sql statement 1, parameters, date, runtime
        sql statement 2, ...
        method call 2, ...

        and so on, where you use spring AOP config to specify which methods interest you in the applicationContext.xml.

        anyway, thought this might be useful for others looking for this kind of thing.
        -jt

        Comment


        • #5
          yes we made a lot of progress on this project.
          We build the infraestructure and instrumentation to:
          - Monitor and trace execution of any layer of the application (Spring based application)
          - Configured via AOP for backend layers like: Service, BusinessObject, DataAccessObject and any other object of interest
          - Configured also with Filters or Struts2 interceptors
          - we can get information about execution times of each method in every layer
          - Running Thread with a complete full stack "photo"
          - Application use by user, we can see which module is used by each user, and execution times, errors, etc for each user
          - Front end implemented as a struts2 plugin or via some JMS Mbeans.
          - a lot more functionality

          we are planning now to publish the sources to the community, may be we can work together and join forces.

          Comment


          • #6
            sure, sounds like we cover some of the same ground, though beet may be smaller in scope. i look forward to the project announcement.

            Comment


            • #7
              Muy bueno Chili!!
              Está publicado en algún lado?
              Estamos evaluando alternativas de monitoreo para Hacienda.
              Saludos para allá!

              Leandro

              Comment

              Working...
              X