At my final session at MAX today I decided to give people a little sneak peek into something I've been working on. Ever since the demo of New Atlanta's CF Profiler at CFUNITED, I've been working on something simular within the CFMX framework. I had always wanted to take a look at the debug templates (which are open sourced by the way, did you know that?), and in fact, I released a small example of this a few agos with my CFC debugger mod.
Today I am happy to announce Starfish. Starfish is the name of a new debugger I am working on, and yes, the name "Starfish" has zero connection with the actual product. I needed a name, so, there ya go.
So what does Starfish do? The first part of Starfish is the debugging template. This gets saved in your web-inf/debug folder. This adds "profiler.cfm" as an option in your CF Admin. When you select the profiler, no debug input is shown on screen. However, as you click around, or as your automated script does, debug information is being stored in RAM. That is the essential problem I had with the built-in debugging. It gives you a great deal of information - but only while you are on the page itself. All my code does is package it up a bit and store in the Server scope.
The second part of Starfish is the admin interface. Here is a screen shot (click on it for a bigger shot):
What we have here are three things (although one isn't in the screen shot, it was added later). First you have a list of templates along with the number of times it has been run, with min, max, and average execution times. Since this is a flash grid you can sort. When you click on a template, a graph loads showing how the template has performed. Typically, you will see a high initial value followed by much smaller values. If not - something may be wrong.
The second tab shows CFC calls. They are listed about by CFC and method, and again you see min, max and average times.
The last tab (which again, isn't on the screen shot), shows all SQL Queries. Clicking on a row will show the full SQL of the query. Even better - know how in the normal debugger, queryparam values are shown with a question mark? Before storing the sql, I actually copy those values back in so you can read the SQL a bit easier.
So - when will this be released? I want to do a bit more polishing, and add a Print/Excel button to the reports. My hope is to get this out in a 'Version 0' mode next Monday so folks can start commenting and add requests.
And with that - it's off to the airport!
Archived Comments
Ray,
This looks great! I definitely could use this!
Thanks!
Chris
Very, very, VERY cool stuff. Thanks for the hard work on this--I look forward to seeing the release!
This could make my life so much easier in many ways! You still have that Amazon wishlist, right?
Heh, I -live- for my Amazon wishlist. ;)
Ray blogging from John Wayne airport, in disbelief that there is actually free wireless.
Hey Ray!
This is absolutely awesome!!! I was thinking of integrating something like this into the CFEclipse debugging pane! Looking REAL good!
Hey Ray,
I was in one of your application framework sessions today at MAX and wanted to say thank you. This little extension will come in handy... thanks again!
Mark: Thats not a bad idea. As I posted, there are two sides, the "store" side and the "report" side. Obviously the report side could be changed, or not used. Ping me off-blog about this as I'm an eclipse user as well. Shoot, even an eclipse plugin to show the NORMAL debug info would kick butt, cuz it would let us keep our pages clean, know what I mean?
Very nice, Ray. The SQL part will be very handy. Thanks a lot!
Can't wait to see it/try it out, we have been working on something similar at work and it will be interesting to compare.
Wow, very very cool!
This is just awesome. Nice work!
OK... the buzz is spinning. This is the Coolest tool of the week... so let me be the first to say ( Is it Monday enough for a release yet?) ... Or better put, this was the best way I knew of to be notified upon release. So I posted to the blog with subscribe!!!
I'm waiting on two things:
a) Add print/excel format button. That's really like 5 minutes of work.
b) A tiny bit of formatting to the report page. I want it to look more like the rest of the cf admin.
The project page has already been created. That is new for me - but ALL my projects will soon have their own home page.