basically +1 for adding such modules (independent of the details, since we can improve parts once it's needed).
regards, gerhard 2018-02-09 10:51 GMT+01:00 Romain Manni-Bucau <rmannibu...@gmail.com>: > Hi Mark > > I like interdync and it is a generic fit but invomon is a bit limited in > current flavor and I would be tempted to say we can just inherit from the > related sirona part of code if we want to go this way. > > > Romain Manni-Bucau > @rmannibucau <https://twitter.com/rmannibucau> | Blog > <https://rmannibucau.metawerx.net/> | Old Blog > <http://rmannibucau.wordpress.com> | Github <https://github.com/ > rmannibucau> | > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book > <https://www.packtpub.com/application-development/java- > ee-8-high-performance> > > 2018-02-09 10:49 GMT+01:00 Mark Struberg <strub...@yahoo.de.invalid>: > > > Hi folks! > > > > Some of you might know my interdyn + invomon projects [1]. > > > > For the others, what are they about? > > > > interdyn is a dynamic interceptor binding Extension. > > It allows to declare a regexp pattern and a class name of an Interceptor > > annotation. > > It then applies this annotation to all the classes which map the regexp. > > Of course you can define multiple rules. > > > > rule.1.match=.*ServiceImpl > > rule.1.interceptor=net.struberg.devtools.cdi.invomon.InvocationMonitored > > > > The other part is exactly that @InvocationMonitored interceptor. > > > > It logs the most expensive methods and classes after each request. > > The output looks like the following: > > > > 2011-03-19 12:36:27,291 [2046767960@qtp-1243908618-9] INFO > > invomon.InvocationResultLogger Top Class Invocations: > > count: 51 net.struberg.myproject.core.be.semester. > > SemesterRemoteServiceImpl > > count: 21 net.struberg.myproject.core.be.security.service. > > SecurityServiceImpl > > count: 5 net.struberg.myproject.util.be.config.ConfigServiceImpl > > count: 2 net.struberg.myproject.course.be.CourseServiceImpl > > count: 1 net.struberg.myproject.events.be.EventServiceImpl > > count: 1 net.struberg.myproject.core.be.persons. > > PersonRemoteServiceImpl > > count: 1 net.struberg.myproject.course.be.LecturerServiceImpl > > count: 1 net.struberg.myproject.events.be.EventRemoteServiceImpl > > > > 2011-03-19 12:36:27,292 [2046767960@qtp-1243908618-9] INFO > > invomon.InvocationResultLogger Top Method Invocations: > > dur[ms]: 442.48096 count: 1 net.struberg.myproject.course. > > be.CourseServiceImpl#deleteCourse > > dur[ms]: 349.34717 count: 1 net.struberg.myproject.course. > > be.CourseServiceImpl#getByFilter > > dur[ms]: 104.53423 count: 1 net.struberg.myproject.events. > > be.EventRemoteServiceImpl#getEvent > > dur[ms]: 100.43162 count: 1 net.struberg.myproject.events. > > be.EventServiceImpl#getEvent > > dur[ms]: 24.677048 count: 1 net.struberg.myproject.course. > > be.LecturerServiceImpl#getEmployeeIdsInvolvedInOrgUnitCourses > > dur[ms]: 1.596834 count: 1 net.struberg.myproject.core. > > be.persons.PersonRemoteServiceImpl#getByEmployeeIdList > > dur[ms]: 0.892522 count: 51 net.struberg.myproject.core. > > be.semester.SemesterRemoteServiceImpl#getCorrespondingSemesterCode > > dur[ms]: 0.288455 count: 5 net.struberg.myproject.util. > > be.config.ConfigServiceImpl#getStringProperty > > dur[ms]: 0.248038 count: 3 net.struberg.myproject.core. > > be.security.service.SecurityServiceImpl#isGranted > > dur[ms]: 0.203102 count: 18 net.struberg.myproject.core. > > be.security.service.SecurityServiceImpl#isAuthenticated > > > > > > The initial version requires an own property file. But of course all this > > configuration could also be provided via DS-config. > > > > wdyt? > > Worth moving over to DeltaSpike? > > > > LieGrue, > > strub > > > > > > > > [1] https://github.com/struberg/interdyn > > > > >