|
From: Leif M. <le...@ta...> - 2007-02-15 14:00:23
|
Vinod,
That is actually correct. The handleSocket method gets called once
when the
socket is opened. It is called with a dedicated thread called
"Wrapper-Connection".
The handleSocket method then loops until the socket is closed or the JVM
shuts
down. In that loop, the DataInputStream.readByte() method will be
called at least
once for each command received from the Wrapper process.
If any commands are send, they will show up in the log file with
wrapper.debug
enabled.
I wonder if the profiler is getting confused by the native call
inside the read
method. That method is blocking on the socket at a low level. I'm not
sure how
often the OS is spending actual CPU cycles in that call. It should be
pretty much
idle unless any data is coming in however.
Are you able to see a call count on the DataInputStream.readByte
method as it
is called from within the handleSocket method?
Cheers,
Leif
Vinod Panicker wrote:
> OK, I ran the application with cpu sampling and tracing and with debug enabled.
>
> According to the code, if there is communication, there should be a
> log message in wrapper.log. There's nothing of that sort, which means
> that handleSocket() is not getting invoked.
>
> During sampling, the profiler is reporting cpu usage in the
> handleSocket() method call. During tracing, it shows that the method
> has been invoked just once.
>
> Does this make sense to anyone? Does it look like an issue with the profiler?
>
> Regards,
> Vinod.
>
|