You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Santosh Kulkarni <sk...@jcpenney.com> on 2008/11/14 16:41:14 UTC

XML unmarshalling performance measurement

Hi,

 

I am trying to measure how much time it takes to unmarshal a request.

 

I added two in interceptors one on RECEIVE and other on UNMARSHAL and
printed the System.currentTimeMillis and took the difference. This is
just a test; ultimately I'd like to use the JAMON (which I am using it
for everything else).

 

My question is: Are the phases that I have chosen correct?

 

What would be the phases for calculating the time for marshalling
performance?

 

Also, Would there be any interest in adding Jamon interceptor calls into
the codebase itself, I'll be willing to put in a patch.

 

Thanks

Santosh


Re: XML unmarshalling performance measurement

Posted by Daniel Kulp <dk...@apache.org>.
On Friday 14 November 2008 10:41:14 am Santosh Kulkarni wrote:
>
> I am trying to measure how much time it takes to unmarshal a request.
>
> I added two in interceptors one on RECEIVE and other on UNMARSHAL and
> printed the System.currentTimeMillis and took the difference. This is
> just a test; ultimately I'd like to use the JAMON (which I am using it
> for everything else).
>
> My question is: Are the phases that I have chosen correct?

That looks correct.   However, there is one caveat about these types of things 
with CXF that may complicate things: with the way CXF streams things, such 
marks also take into affect the the network latencies and such.   Basically, 
if you have a slow client feeding data slowly, the performance on the server 
is not going to look good, but it's not it's fault.   It's trying to read 
data, but is blocked waiting for the client to send it.


> What would be the phases for calculating the time for marshalling
> performance?

Outgoing may be easier if all you want it marshalling.   There are PRE_MARSHAL 
and POST_MARSHAL phases.


> Also, Would there be any interest in adding Jamon interceptor calls into
> the codebase itself, I'll be willing to put in a patch.

What may be a good starting point is to look at the performance metrics 
recorded with the current stuff in the cxf-rt-management stuff.   It 
currently records performance numbers for complete round trips (not just the 
marshal/unmarshal stuff) so it might be good to wire some additional phases 
and such in there to get more information.     

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog