Re: Tracking performance issues on requests best practices

2013-04-03 Thread Serban.Balamaci
Well I've switched on to AspectJ load time weaving and was able to intercept
calls on also the wicket Components methods. 
I've tested locally to see where are the missing numbers.

Seemed not much time was spent in onInitialize() afterall, the cause by the
fact that even if the Services layer was intercepted, I did not think of the
OpenEntityManagerInViewFilter which caused DB hits that were not going
through the Service layer and thus not counted.

2. I was counting also the first hit of the first page which meant getMarkup
calls for the components. That markup is then cached on subsequent calls but
when called it does take it's toll.




--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Tracking-performance-issues-on-requests-best-practices-tp4657676p4657706.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Tracking performance issues on requests best practices

2013-04-01 Thread Serban.Balamaci
Hello guys,
I'm trying to have a finer look at what is taking time on the serverside in
our application. 

What I have so far is that I'm using Spring AOP to track down calls to all
the methods and time to the Services layer. PS: I'm using JETM
http://jetm.void.fm/ (it may be old, but is simple and give pretty much what
you need).

2. I've collected the time for the whole request to process in a
AbstractRequestCycleListener onBeginRequest, onEndRequest so as to see a sum
of the total time spent on a particular usecase.

What I've expected to find is that most of the resulting time would be spent
in the services layer and pretty much summed up to be near the request time
on the requestcyclelistener.

Practical data shows however otherwise, with the sum of the service time not
even close to the total of the request time. 

3. So I've fine tuned the result to also show the rendering time for the
components taking as example RenderPerformanceListener which measure the
time between component onBeforeRender and onAfterRender. 
It's pretty nice to see in jetm hierarchycal component-services call,
however it still not nearly close to the whole request time.

I'm still looking and seeing that there is some logic also on some
component's constructors and also onInitialize() methods that I see no easy
way to measure them. IComponentInitializationListener seems to only trigger
after initialization, I see no  easy way to mark the start time of the
onInitialize() and collect the time in the listener. 

So I'm asking if anyone got an idea, or I'm interested what you guys usually
do to track down any performance issues in the app. 



--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Tracking-performance-issues-on-requests-best-practices-tp4657676.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Tracking performance issues on requests best practices

2013-04-01 Thread Bas Gooren
We use New Relic extensively, which allows us to (a) annotate key parts 
of the app we wish to monitor, and (b) allow profiling in production, if 
we ever need it.


I'm not affiliated with New Relic, just a happy user of it. Please note 
that it's not a free tool, but given the ease of use (it's very easy to 
set up) I've never looked back.


In case you want a free solution: run your app through a profiler to see 
where most time per request is spent.


Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 1-4-2013 21:45, schreef Serban.Balamaci:

Hello guys,
I'm trying to have a finer look at what is taking time on the serverside in
our application.

What I have so far is that I'm using Spring AOP to track down calls to all
the methods and time to the Services layer. PS: I'm using JETM
http://jetm.void.fm/ (it may be old, but is simple and give pretty much what
you need).

2. I've collected the time for the whole request to process in a
AbstractRequestCycleListener onBeginRequest, onEndRequest so as to see a sum
of the total time spent on a particular usecase.

What I've expected to find is that most of the resulting time would be spent
in the services layer and pretty much summed up to be near the request time
on the requestcyclelistener.

Practical data shows however otherwise, with the sum of the service time not
even close to the total of the request time.

3. So I've fine tuned the result to also show the rendering time for the
components taking as example RenderPerformanceListener which measure the
time between component onBeforeRender and onAfterRender.
It's pretty nice to see in jetm hierarchycal component-services call,
however it still not nearly close to the whole request time.

I'm still looking and seeing that there is some logic also on some
component's constructors and also onInitialize() methods that I see no easy
way to measure them. IComponentInitializationListener seems to only trigger
after initialization, I see no  easy way to mark the start time of the
onInitialize() and collect the time in the listener.

So I'm asking if anyone got an idea, or I'm interested what you guys usually
do to track down any performance issues in the app.



--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Tracking-performance-issues-on-requests-best-practices-tp4657676.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org





Re: Tracking performance issues on requests best practices

2013-04-01 Thread Nick Pratt
We use JProfiler, but Ive also used Yourkit (both very good profilers).

N


On Mon, Apr 1, 2013 at 3:45 PM, Serban.Balamaci thespamtr...@gmail.comwrote:

 Hello guys,
 I'm trying to have a finer look at what is taking time on the serverside in
 our application.

 What I have so far is that I'm using Spring AOP to track down calls to all
 the methods and time to the Services layer. PS: I'm using JETM
 http://jetm.void.fm/ (it may be old, but is simple and give pretty much
 what
 you need).

 2. I've collected the time for the whole request to process in a
 AbstractRequestCycleListener onBeginRequest, onEndRequest so as to see a
 sum
 of the total time spent on a particular usecase.

 What I've expected to find is that most of the resulting time would be
 spent
 in the services layer and pretty much summed up to be near the request time
 on the requestcyclelistener.

 Practical data shows however otherwise, with the sum of the service time
 not
 even close to the total of the request time.

 3. So I've fine tuned the result to also show the rendering time for the
 components taking as example RenderPerformanceListener which measure the
 time between component onBeforeRender and onAfterRender.
 It's pretty nice to see in jetm hierarchycal component-services call,
 however it still not nearly close to the whole request time.

 I'm still looking and seeing that there is some logic also on some
 component's constructors and also onInitialize() methods that I see no easy
 way to measure them. IComponentInitializationListener seems to only trigger
 after initialization, I see no  easy way to mark the start time of the
 onInitialize() and collect the time in the listener.

 So I'm asking if anyone got an idea, or I'm interested what you guys
 usually
 do to track down any performance issues in the app.



 --
 View this message in context:
 http://apache-wicket.1842946.n4.nabble.com/Tracking-performance-issues-on-requests-best-practices-tp4657676.html
 Sent from the Users forum mailing list archive at Nabble.com.

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org