Matt, Thanks for the reply and the links. I'll see what I can do to profile my code a bit more.
It looks like for now, I'll have to add a bunch of timer statements for now and look at different tools that are available. So in the future, enhancement of course :-) it would be really cool if there was a plugin or an option to turn on profiling. I see it gathering data on execute times for the whole request and cffuntion, cfquery and along with that the memory being used by those actions. It could be stored in a log file but even better would be something like a sqlite database on the server. So that dashboard or something could be built around it. Anyways ... thanks I really appreciate it. Charlie On Aug 5, 10:05 am, Matthew Woodward <[email protected]> wrote: > On Thu, Aug 5, 2010 at 9:14 AM, Skellington <[email protected]> wrote: > > This leads me to my question, In a normal app (non-webservice) I would > > just turn on the debug stuff and look at the debug data to see what is > > going on and where some of the performance issues were. But with a > > SOAP web service it's not possible. Does anyone know of a way to > > profile a web service (mywebservice.cfc) to get a better idea of whats > > really going on? > > There are good monitoring tools for both Java processes as well as Tomcat > itself that would give you a lot of information about things like memory > utilization, CPU utilization, etc., not to mention checking things at the > operating system level. > > VisualVM ships with the JDK:https://visualvm.dev.java.net/ > > Lambda Probe monitors Tomcat 6.x and below (doesn't work on Tomcat 7 > yet):http://www.lambdaprobe.org/d/index.htm > > I guess the real question is what you mean by "what's really going on?" If > you're wanting to profile your *code* then some simple timings and cflog > statements would go a long way toward telling you what may be running > slowly. If it gets to the point of you wanting to debug your code more > directly, you could use the OpenBD debugger > (http://wiki.openbluedragon.org/wiki/index.php/Category:Debugger), or you > could put the OpenBD source code into an Eclipse project along with your > application's code, which would allow you to debug your CFML code using the > Java debugger in Eclipse as it executes in the engine. > > The other thing to consider is writing a simple CFML page that leverages the > web service CFC just as a CFC, since as far as what the code is doing it > won't matter if that's being done over SOAP or not, unless you suspect that > network latency, size of request/response, etc. are the culprits. For > troubleshooting that side of things, I'd suggest wireshark > (http://www.wireshark.org/) or Firebug (http://getfirebug.com/) since that > would let you see the requests and responses in their raw formats. > > You can also test the web service using SoapUI (http://www.soapui.org/), > which is a Java application that you can point to a WSDL and have it > generate sample SOAP requests for you. > > Kind of a rambling response but I hope that gives you some ideas. As you can > tell there are lots of options depending on what you want to do. If you have > more information about specifically what you'd like to look into please > follow up and we can focus in on more specifics. > > -- > Matthew Woodward > [email protected]http://blog.mattwoodward.com > identi.ca / Twitter: @mpwoodward > > Please do not send me proprietary file formats such as Word, PowerPoint, > etc. as attachments.http://www.gnu.org/philosophy/no-word-attachments.html -- Open BlueDragon Public Mailing List http://www.openbluedragon.org/ http://twitter.com/OpenBlueDragon official manual: http://www.openbluedragon.org/manual/ Ready2Run CFML http://www.openbluedragon.org/openbdjam/ mailing list - http://groups.google.com/group/openbd?hl=en
