At the CFUNITED keynote this morning, Macromedia announced the codename for ColdFusion MX 8, "Scorpio". Currently in early development, Tim Buntel mentioned that the two top areas of focus were the presentation tier, and greater access to the server internals and monitoring.

The server internals and monitoring is especially interesting (to me at least). This would open up the potential for several things. The first thing we could potentially get would be more access to internal information, such as how much memory particular things were consuming. Think things like knowing how much memory a particular query is consuming, etc. There's a lot of potential here. Second on the list is profiling tools. The Java world has them, and I want them for CF. Having a profiling tool would allow you to pinpoint where in your code certain conditions were present such as excessive memory use, slow performance, etc.

Given previous product cycles, I'm guessing here that we won't see CFMX 8 going gold for probably another 18 months or so, but that's only a prediction.

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)
Peter Tilbrook's Gravatar 18 months? No way. Expect Scorpio this year or early next quarter (please)!
# Posted By Peter Tilbrook | 6/29/05 11:31 AM
Rob Brooks-Bilson's Gravatar I based my guess on what seems to be a 2 year product cycle. It is quite possible that it could be sooner, depending on just how much they plan to do.
# Posted By Rob Brooks-Bilson | 6/29/05 1:28 PM
robi's Gravatar So why can you not use HPjmeter, Jprobe, visualgc, Hrpof etc? As you said the Java world has them and since CF is Java...well.
# Posted By robi | 6/29/05 3:30 PM
Rob Brooks-Bilson's Gravatar Robi, the problem with those tools is that they run on the class files that ColdFusion generates, which doesn'te really give you the insight into where your CF code is having issues. In the Java world, I can run a profiler, and it will show me exactly what method is causing a defined problem.

The folks at New Atlanta mentioned that they already have a CFML profiler that they use internally, and will be productizing later this year. I believe they are going to demo it at tomorrow's keynote.
# Posted By Rob Brooks-Bilson | 6/30/05 9:33 AM
Robi Sen's Gravatar Really? How come then in Jmeter I can see exactly what thread, what page, what object is being called etc? I am not sure if I had the opportunity to show Jmeter in my talk doing this (I think I did). Many of the profiling tools do indeed let you see exactly what script or object is making the call, what a thread associated with its doing, what its memory usage is, what garbage collection time is, what clean up cost was etc. For example, at least when I was practicing my speech, I showed in real time how a specific thread which called the DB and load the results into a bunch of different session variables effected the server. By using Xrunhprof you can capture all this info and analyze in real time or historically from saved files. Xrunprof is specifically setup to capture the sort of data you are talking about and generates something like this in the log file:

TRACE 30069: (thread=55)
   coldfusion.tagext.lang.ApplicationTag.doStartTag(ApplicationTag.java:210)
   coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:1908)
   cftest2eloadobjectsinsession2ecfm1239696938.runPage(C:\Inetpub\wwwroot\localdev\test.loadobjectsinsession.cfm:1)

And in HPJmemter you can do various views on a specific thread like this to see visually how its performing or based on various filters view the data or even have the tool try to figure out from your logs which threads are leaking memory (which btw is fun to do on the CF server itself). Regardless you are incorrect in stating you can not do this but I think the big deal (and perhaps this is what you are really getting at?) for most people is these tools can be a pain to setup up, deploy, collect data on, then understand and make changes based on this data.

You can also use Hprof and JVMPI from CFOBJECT or by calling java classes and get even more information specific to your code including what a specific line of code is doing. Perhaps though you are hoping for something more like seeFusion which seems cool especially if you are hosting allot of sites, don’t want to go through setup or learning time, and do not need the depth of information you can get from various easy to use commercial and open source tools. One thing I did like about seeFusion (http://www.seefusion.com/index.cfm?do=c_guide.usag...) is how you can do something like:

<cfset seefusion = createObject("java", "com.seefusion.SeeFusion")>
<mycrappycfcode></ mycrappycfcode>

So that you can do performance montiroing

Which is pretty darn neat. I wonder if MM will role their own tool or just purchase seeFusion?
# Posted By Robi Sen | 7/5/05 10:34 PM
Greg's Gravatar I searched for SeeFusion and saw some ads for something called FusionReactor which seems to be symilar. Have you seen it at all? I'm wondering if anyone could recommend one over the other...
# Posted By Greg | 12/1/05 5:05 PM



Copyright 1995-2010 Rob Brooks-Bilson. All rights reserved.
Aura skin for Raymond Camden's BlogCFC inspired by Joe Rinehart & Steven Erat. This blog is running version 5.9.004.