|
From: Vinod P. <vi...@gm...> - 2007-02-21 04:24:51
|
A final update on this issue. I got this reply on the Yourkit forums - "If a native method performs waiting directly using OS calls, Java obviously cannot know what exactly the method does, and will report it as running. If OS cannot provide actual thread CPU time, the time when that native method runs and when it waits cannot be separated." So rather than this being an issue with wrapper, its actually a limitation of the platform. Regards, Vinod. On 2/16/07, Vinod Panicker <vi...@gm...> wrote: > Hi, > > There are no calls reported to DataInputStream.readByte() when CPU > tracing is enabled. That makes sense, since the wrapper ping interval > is kept to the max amount and the profling snapshot is being taken > after the application has been running for a while. > > I'll revert back to the old default values for the wrapper settings > and will use the current values only for profling. I'll also get in > touch with the Yourkit guys and get some more info on this behaviour. > > Thanks for the help. > > Regards, > Vinod. > > On 2/15/07, Leif Mortenson <le...@ta...> wrote: > > 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. > > > > > > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share your > > opinions on IT & business topics through brief surveys-and earn cash > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > > Wrapper-user mailing list > > Wra...@li... > > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > > |