[jira] [Commented] (DELTASPIKE-1316) add dynamic annotations feature, configurable via config

2018-02-09 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/DELTASPIKE-1316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16358976#comment-16358976
 ] 

ASF subversion and git services commented on DELTASPIKE-1316:
-

Commit 9423d7466d9507bc243ca3e7bea5a97986bd3bb6 in deltaspike's branch 
refs/heads/master from [~struberg]
[ https://git-wip-us.apache.org/repos/asf?p=deltaspike.git;h=9423d74 ]

DELTASPIKE-1316 add @InvocationMonitored

wip, still misses tests


> add dynamic annotations feature, configurable via config
> 
>
> Key: DELTASPIKE-1316
> URL: https://issues.apache.org/jira/browse/DELTASPIKE-1316
> Project: DeltaSpike
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.8.1
>Reporter: Mark Struberg
>Assignee: Mark Struberg
>Priority: Major
> Fix For: 1.8.2
>
>
> A long time ago I created a CDI Extension which can dynamically add 
> annotations to classes identified via a regular expression.
> The Extension is called InterDyn (Interceptor Dynamics) and is hosted at 
> github.
> [https://github.com/struberg/InterDyn]
>  
> I'm the sole originary author, so I have all the IP.
> The project actually consists of two parts: InterDyn for dynamic interceptors 
> and InvoMon, an invocation monitor interceptor. Kind of small man profiler.
> The InterDyn part is actually not restricted to add interceptor annotations, 
> but really could be anything. But adding interceptors obviously makes the 
> most sense. This should go into ds-core-impl. It doesn't even need any api 
> changes.
>  
> The 2nd part (the performance InvocationMonitor. Might become either part of 
> core, or a separate module.
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (DELTASPIKE-1316) add dynamic annotations feature, configurable via config

2018-02-09 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/DELTASPIKE-1316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16358975#comment-16358975
 ] 

ASF subversion and git services commented on DELTASPIKE-1316:
-

Commit 8cc2a7f6853c32e49d7aa93176b667502ce74f7c in deltaspike's branch 
refs/heads/master from [~struberg]
[ https://git-wip-us.apache.org/repos/asf?p=deltaspike.git;h=8cc2a7f ]

DELTASPIKE-1316 skip interdyn with empty match or class config


> add dynamic annotations feature, configurable via config
> 
>
> Key: DELTASPIKE-1316
> URL: https://issues.apache.org/jira/browse/DELTASPIKE-1316
> Project: DeltaSpike
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.8.1
>Reporter: Mark Struberg
>Assignee: Mark Struberg
>Priority: Major
> Fix For: 1.8.2
>
>
> A long time ago I created a CDI Extension which can dynamically add 
> annotations to classes identified via a regular expression.
> The Extension is called InterDyn (Interceptor Dynamics) and is hosted at 
> github.
> [https://github.com/struberg/InterDyn]
>  
> I'm the sole originary author, so I have all the IP.
> The project actually consists of two parts: InterDyn for dynamic interceptors 
> and InvoMon, an invocation monitor interceptor. Kind of small man profiler.
> The InterDyn part is actually not restricted to add interceptor annotations, 
> but really could be anything. But adding interceptors obviously makes the 
> most sense. This should go into ds-core-impl. It doesn't even need any api 
> changes.
>  
> The 2nd part (the performance InvocationMonitor. Might become either part of 
> core, or a separate module.
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (DELTASPIKE-1316) add dynamic annotations feature, configurable via config

2018-02-09 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/DELTASPIKE-1316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16358978#comment-16358978
 ] 

ASF subversion and git services commented on DELTASPIKE-1316:
-

Commit 3734100febf7895923028a5ef836027eed2015c0 in deltaspike's branch 
refs/heads/master from [~struberg]
[ https://git-wip-us.apache.org/repos/asf?p=deltaspike.git;h=3734100 ]

DELTASPIKE-1316 add unit test and enable interceptor


> add dynamic annotations feature, configurable via config
> 
>
> Key: DELTASPIKE-1316
> URL: https://issues.apache.org/jira/browse/DELTASPIKE-1316
> Project: DeltaSpike
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.8.1
>Reporter: Mark Struberg
>Assignee: Mark Struberg
>Priority: Major
> Fix For: 1.8.2
>
>
> A long time ago I created a CDI Extension which can dynamically add 
> annotations to classes identified via a regular expression.
> The Extension is called InterDyn (Interceptor Dynamics) and is hosted at 
> github.
> [https://github.com/struberg/InterDyn]
>  
> I'm the sole originary author, so I have all the IP.
> The project actually consists of two parts: InterDyn for dynamic interceptors 
> and InvoMon, an invocation monitor interceptor. Kind of small man profiler.
> The InterDyn part is actually not restricted to add interceptor annotations, 
> but really could be anything. But adding interceptors obviously makes the 
> most sense. This should go into ds-core-impl. It doesn't even need any api 
> changes.
>  
> The 2nd part (the performance InvocationMonitor. Might become either part of 
> core, or a separate module.
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (DELTASPIKE-1316) add dynamic annotations feature, configurable via config

2018-02-09 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/DELTASPIKE-1316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16358977#comment-16358977
 ] 

ASF subversion and git services commented on DELTASPIKE-1316:
-

Commit 0a914ba3cd05f9a74ce19c7843f56445fa2a932c in deltaspike's branch 
refs/heads/master from [~struberg]
[ https://git-wip-us.apache.org/repos/asf?p=deltaspike.git;h=0a914ba ]

DELTASPIKE-1316 activate InterDynExtension


> add dynamic annotations feature, configurable via config
> 
>
> Key: DELTASPIKE-1316
> URL: https://issues.apache.org/jira/browse/DELTASPIKE-1316
> Project: DeltaSpike
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.8.1
>Reporter: Mark Struberg
>Assignee: Mark Struberg
>Priority: Major
> Fix For: 1.8.2
>
>
> A long time ago I created a CDI Extension which can dynamically add 
> annotations to classes identified via a regular expression.
> The Extension is called InterDyn (Interceptor Dynamics) and is hosted at 
> github.
> [https://github.com/struberg/InterDyn]
>  
> I'm the sole originary author, so I have all the IP.
> The project actually consists of two parts: InterDyn for dynamic interceptors 
> and InvoMon, an invocation monitor interceptor. Kind of small man profiler.
> The InterDyn part is actually not restricted to add interceptor annotations, 
> but really could be anything. But adding interceptors obviously makes the 
> most sense. This should go into ds-core-impl. It doesn't even need any api 
> changes.
>  
> The 2nd part (the performance InvocationMonitor. Might become either part of 
> core, or a separate module.
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (DELTASPIKE-1316) add dynamic annotations feature, configurable via config

2018-02-09 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/DELTASPIKE-1316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16358974#comment-16358974
 ] 

ASF subversion and git services commented on DELTASPIKE-1316:
-

Commit 2c185bd5f02ea842b9d2f4628a7204c0453eec0d in deltaspike's branch 
refs/heads/master from [~struberg]
[ https://git-wip-us.apache.org/repos/asf?p=deltaspike.git;h=2c185bd ]

DELTASPIKE-1316 add InterDynExtension

this allows to configurably add annotations to classes
identified via a regexp.


> add dynamic annotations feature, configurable via config
> 
>
> Key: DELTASPIKE-1316
> URL: https://issues.apache.org/jira/browse/DELTASPIKE-1316
> Project: DeltaSpike
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.8.1
>Reporter: Mark Struberg
>Assignee: Mark Struberg
>Priority: Major
> Fix For: 1.8.2
>
>
> A long time ago I created a CDI Extension which can dynamically add 
> annotations to classes identified via a regular expression.
> The Extension is called InterDyn (Interceptor Dynamics) and is hosted at 
> github.
> [https://github.com/struberg/InterDyn]
>  
> I'm the sole originary author, so I have all the IP.
> The project actually consists of two parts: InterDyn for dynamic interceptors 
> and InvoMon, an invocation monitor interceptor. Kind of small man profiler.
> The InterDyn part is actually not restricted to add interceptor annotations, 
> but really could be anything. But adding interceptors obviously makes the 
> most sense. This should go into ds-core-impl. It doesn't even need any api 
> changes.
>  
> The 2nd part (the performance InvocationMonitor. Might become either part of 
> core, or a separate module.
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


Re: bringing interdyn and invomon to DeltaSpike?

2018-02-09 Thread Christian Kaltepoth
+1 for integrating interdyn.

Am 09.02.2018 19:15 schrieb "Jason Porter" :

> +1 for adding them
>
> On Fri, Feb 9, 2018 at 4:09 AM, Rudy De Busscher 
> wrote:
>
> > +1 for adding them.
> >
> > I use the  interdyn   project regularly
> >
> > Rudy
> >
> > On 9 February 2018 at 11:58, Gerhard Petracek 
> > wrote:
> >
> > > imo the config should be based on the ds-config-api -> with that the
> > > config-format isn't limited.
> > >
> > > regards,
> > > gerhard
> > >
> > >
> > >
> > > 2018-02-09 11:48 GMT+01:00 Thomas Andraschko <
> > andraschko.tho...@gmail.com
> > > >:
> > >
> > > > Also suggested dynamic interceptors some years ago - so +1. Just not
> > sure
> > > > if properties is the best way.
> > > > Maybe we should think about if we should someday introduce something
> > > like a
> > > > deltaspike xml config. Not sure.
> > > >
> > > > 2018-02-09 11:34 GMT+01:00 Gerhard Petracek :
> > > >
> > > > > 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  |  Blog
> > > > > >  | Old Blog
> > > > > >  | Github  > > > > > rmannibucau> |
> > > > > > LinkedIn  | Book
> > > > > >  > > > > > ee-8-high-performance>
> > > > > >
> > > > > > 2018-02-09 10:49 GMT+01:00 Mark Struberg
>  > > >:
> > > > > >
> > > > > > > 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.48096count: 1
> > > > net.struberg.myproject.course.
> > > > > > > be.CourseServiceImpl#deleteCourse
> > > > > > >   dur[ms]: 349.34717count: 1
> > > > net.struberg.myproject.course.
> > > > > > > be.CourseServiceImpl#getByFilter
> > > > > > >   dur[ms]: 104.53423count: 1
> > > > net.struberg.myproject.events.
> > > > > > > be.EventRemoteServiceImpl#getEvent
> > > > > > >   dur[ms]: 100.43162count: 1
> > > > net.struberg.myproject.events.
> > > > > > > be.EventServiceImpl#getEvent
> > > > > > >   dur[ms]: 24.677048count: 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
> > >  

Re: bringing interdyn and invomon to DeltaSpike?

2018-02-09 Thread Jason Porter
+1 for adding them

On Fri, Feb 9, 2018 at 4:09 AM, Rudy De Busscher 
wrote:

> +1 for adding them.
>
> I use the  interdyn   project regularly
>
> Rudy
>
> On 9 February 2018 at 11:58, Gerhard Petracek 
> wrote:
>
> > imo the config should be based on the ds-config-api -> with that the
> > config-format isn't limited.
> >
> > regards,
> > gerhard
> >
> >
> >
> > 2018-02-09 11:48 GMT+01:00 Thomas Andraschko <
> andraschko.tho...@gmail.com
> > >:
> >
> > > Also suggested dynamic interceptors some years ago - so +1. Just not
> sure
> > > if properties is the best way.
> > > Maybe we should think about if we should someday introduce something
> > like a
> > > deltaspike xml config. Not sure.
> > >
> > > 2018-02-09 11:34 GMT+01:00 Gerhard Petracek :
> > >
> > > > 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  >:
> > > >
> > > > > 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  |  Blog
> > > > >  | Old Blog
> > > > >  | Github  > > > > rmannibucau> |
> > > > > LinkedIn  | Book
> > > > >  > > > > ee-8-high-performance>
> > > > >
> > > > > 2018-02-09 10:49 GMT+01:00 Mark Struberg  > >:
> > > > >
> > > > > > 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.48096count: 1
> > > net.struberg.myproject.course.
> > > > > > be.CourseServiceImpl#deleteCourse
> > > > > >   dur[ms]: 349.34717count: 1
> > > net.struberg.myproject.course.
> > > > > > be.CourseServiceImpl#getByFilter
> > > > > >   dur[ms]: 104.53423count: 1
> > > net.struberg.myproject.events.
> > > > > > be.EventRemoteServiceImpl#getEvent
> > > > > >   dur[ms]: 100.43162count: 1
> > > net.struberg.myproject.events.
> > > > > > be.EventServiceImpl#getEvent
> > > > > >   dur[ms]: 24.677048count: 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#isGra

[jira] [Created] (DELTASPIKE-1316) add dynamic annotations feature, configurable via config

2018-02-09 Thread Mark Struberg (JIRA)
Mark Struberg created DELTASPIKE-1316:
-

 Summary: add dynamic annotations feature, configurable via config
 Key: DELTASPIKE-1316
 URL: https://issues.apache.org/jira/browse/DELTASPIKE-1316
 Project: DeltaSpike
  Issue Type: Bug
  Components: Core
Affects Versions: 1.8.1
Reporter: Mark Struberg
Assignee: Mark Struberg
 Fix For: 1.8.2


A long time ago I created a CDI Extension which can dynamically add annotations 
to classes identified via a regular expression.

The Extension is called InterDyn (Interceptor Dynamics) and is hosted at github.

[https://github.com/struberg/InterDyn]

 

I'm the sole originary author, so I have all the IP.

The project actually consists of two parts: InterDyn for dynamic interceptors 
and InvoMon, an invocation monitor interceptor. Kind of small man profiler.

The InterDyn part is actually not restricted to add interceptor annotations, 
but really could be anything. But adding interceptors obviously makes the most 
sense. This should go into ds-core-impl. It doesn't even need any api changes.

 

The 2nd part (the performance InvocationMonitor. Might become either part of 
core, or a separate module.

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


Re: bringing interdyn and invomon to DeltaSpike?

2018-02-09 Thread Rudy De Busscher
+1 for adding them.

I use the  interdyn   project regularly

Rudy

On 9 February 2018 at 11:58, Gerhard Petracek  wrote:

> imo the config should be based on the ds-config-api -> with that the
> config-format isn't limited.
>
> regards,
> gerhard
>
>
>
> 2018-02-09 11:48 GMT+01:00 Thomas Andraschko  >:
>
> > Also suggested dynamic interceptors some years ago - so +1. Just not sure
> > if properties is the best way.
> > Maybe we should think about if we should someday introduce something
> like a
> > deltaspike xml config. Not sure.
> >
> > 2018-02-09 11:34 GMT+01:00 Gerhard Petracek :
> >
> > > 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 :
> > >
> > > > 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  |  Blog
> > > >  | Old Blog
> > > >  | Github  > > > rmannibucau> |
> > > > LinkedIn  | Book
> > > >  > > > ee-8-high-performance>
> > > >
> > > > 2018-02-09 10:49 GMT+01:00 Mark Struberg  >:
> > > >
> > > > > 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.48096count: 1
> > net.struberg.myproject.course.
> > > > > be.CourseServiceImpl#deleteCourse
> > > > >   dur[ms]: 349.34717count: 1
> > net.struberg.myproject.course.
> > > > > be.CourseServiceImpl#getByFilter
> > > > >   dur[ms]: 104.53423count: 1
> > net.struberg.myproject.events.
> > > > > be.EventRemoteServiceImpl#getEvent
> > > > >   dur[ms]: 100.43162count: 1
> > net.struberg.myproject.events.
> > > > > be.EventServiceImpl#getEvent
> > > > >   dur[ms]: 24.677048count: 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 DeltaSpi

Re: bringing interdyn and invomon to DeltaSpike?

2018-02-09 Thread Gerhard Petracek
imo the config should be based on the ds-config-api -> with that the
config-format isn't limited.

regards,
gerhard



2018-02-09 11:48 GMT+01:00 Thomas Andraschko :

> Also suggested dynamic interceptors some years ago - so +1. Just not sure
> if properties is the best way.
> Maybe we should think about if we should someday introduce something like a
> deltaspike xml config. Not sure.
>
> 2018-02-09 11:34 GMT+01:00 Gerhard Petracek :
>
> > 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 :
> >
> > > 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  |  Blog
> > >  | Old Blog
> > >  | Github  > > rmannibucau> |
> > > LinkedIn  | Book
> > >  > > ee-8-high-performance>
> > >
> > > 2018-02-09 10:49 GMT+01:00 Mark Struberg :
> > >
> > > > 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.48096count: 1
> net.struberg.myproject.course.
> > > > be.CourseServiceImpl#deleteCourse
> > > >   dur[ms]: 349.34717count: 1
> net.struberg.myproject.course.
> > > > be.CourseServiceImpl#getByFilter
> > > >   dur[ms]: 104.53423count: 1
> net.struberg.myproject.events.
> > > > be.EventRemoteServiceImpl#getEvent
> > > >   dur[ms]: 100.43162count: 1
> net.struberg.myproject.events.
> > > > be.EventServiceImpl#getEvent
> > > >   dur[ms]: 24.677048count: 1
> net.struberg.myproject.course.
> > > > be.LecturerServiceImpl#getEmployeeIdsInvolvedInOrgUnitCourses
> > > >   dur[ms]: 1.596834 count: 1net.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: 5net.struberg.myproject.util.
> > > > be.config.ConfigServiceImpl#getStringProperty
> > > >   dur[ms]: 0.248038 count: 3net.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
> > > >
> > > >
> > >
> >
>


Re: bringing interdyn and invomon to DeltaSpike?

2018-02-09 Thread Thomas Andraschko
Also suggested dynamic interceptors some years ago - so +1. Just not sure
if properties is the best way.
Maybe we should think about if we should someday introduce something like a
deltaspike xml config. Not sure.

2018-02-09 11:34 GMT+01:00 Gerhard Petracek :

> 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 :
>
> > 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  |  Blog
> >  | Old Blog
> >  | Github  > rmannibucau> |
> > LinkedIn  | Book
> >  > ee-8-high-performance>
> >
> > 2018-02-09 10:49 GMT+01:00 Mark Struberg :
> >
> > > 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.48096count: 1net.struberg.myproject.course.
> > > be.CourseServiceImpl#deleteCourse
> > >   dur[ms]: 349.34717count: 1net.struberg.myproject.course.
> > > be.CourseServiceImpl#getByFilter
> > >   dur[ms]: 104.53423count: 1net.struberg.myproject.events.
> > > be.EventRemoteServiceImpl#getEvent
> > >   dur[ms]: 100.43162count: 1net.struberg.myproject.events.
> > > be.EventServiceImpl#getEvent
> > >   dur[ms]: 24.677048count: 1net.struberg.myproject.course.
> > > be.LecturerServiceImpl#getEmployeeIdsInvolvedInOrgUnitCourses
> > >   dur[ms]: 1.596834 count: 1net.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: 5net.struberg.myproject.util.
> > > be.config.ConfigServiceImpl#getStringProperty
> > >   dur[ms]: 0.248038 count: 3net.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
> > >
> > >
> >
>


Re: bringing interdyn and invomon to DeltaSpike?

2018-02-09 Thread Gerhard Petracek
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 :

> 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  |  Blog
>  | Old Blog
>  | Github  rmannibucau> |
> LinkedIn  | Book
>  ee-8-high-performance>
>
> 2018-02-09 10:49 GMT+01:00 Mark Struberg :
>
> > 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.48096count: 1net.struberg.myproject.course.
> > be.CourseServiceImpl#deleteCourse
> >   dur[ms]: 349.34717count: 1net.struberg.myproject.course.
> > be.CourseServiceImpl#getByFilter
> >   dur[ms]: 104.53423count: 1net.struberg.myproject.events.
> > be.EventRemoteServiceImpl#getEvent
> >   dur[ms]: 100.43162count: 1net.struberg.myproject.events.
> > be.EventServiceImpl#getEvent
> >   dur[ms]: 24.677048count: 1net.struberg.myproject.course.
> > be.LecturerServiceImpl#getEmployeeIdsInvolvedInOrgUnitCourses
> >   dur[ms]: 1.596834 count: 1net.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: 5net.struberg.myproject.util.
> > be.config.ConfigServiceImpl#getStringProperty
> >   dur[ms]: 0.248038 count: 3net.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
> >
> >
>


Re: bringing interdyn and invomon to DeltaSpike?

2018-02-09 Thread Romain Manni-Bucau
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  |  Blog
 | Old Blog
 | Github  |
LinkedIn  | Book


2018-02-09 10:49 GMT+01:00 Mark Struberg :

> 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.48096count: 1net.struberg.myproject.course.
> be.CourseServiceImpl#deleteCourse
>   dur[ms]: 349.34717count: 1net.struberg.myproject.course.
> be.CourseServiceImpl#getByFilter
>   dur[ms]: 104.53423count: 1net.struberg.myproject.events.
> be.EventRemoteServiceImpl#getEvent
>   dur[ms]: 100.43162count: 1net.struberg.myproject.events.
> be.EventServiceImpl#getEvent
>   dur[ms]: 24.677048count: 1net.struberg.myproject.course.
> be.LecturerServiceImpl#getEmployeeIdsInvolvedInOrgUnitCourses
>   dur[ms]: 1.596834 count: 1net.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: 5net.struberg.myproject.util.
> be.config.ConfigServiceImpl#getStringProperty
>   dur[ms]: 0.248038 count: 3net.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
>
>


bringing interdyn and invomon to DeltaSpike?

2018-02-09 Thread Mark Struberg
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.48096count: 1
net.struberg.myproject.course.be.CourseServiceImpl#deleteCourse
  dur[ms]: 349.34717count: 1
net.struberg.myproject.course.be.CourseServiceImpl#getByFilter
  dur[ms]: 104.53423count: 1
net.struberg.myproject.events.be.EventRemoteServiceImpl#getEvent
  dur[ms]: 100.43162count: 1
net.struberg.myproject.events.be.EventServiceImpl#getEvent
  dur[ms]: 24.677048count: 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