Starfish ColdFusion Profiler Updater

It's been a while, but this morning I updated my Starfish ColdFusion Profiler project. I still consider it very beta. (Hey, Google does it, why can't I?) I finally added something that I should have had in the beginning - basic Application support. So when you view templates, CFCs, and queries now, you can filter by applications. This also applies to the PDF/Excel export. I also made the PDF a bit prettier. (A bit - they still a bit like a mix between un-masked Darth Vader and a tater-tot.)

There is also a new tab now just for application data - but it's a basic summary now (how many templates run, average times, etc.) In theory though it should give you a good idea about which applications are behaving badly.

As always - if you have comments, questions, problems, just let me know.

Starfish ColdFusion Profiler Updated

After many (many) weeks of ignoring it, I've finally gotten around to updating my Starfish ColdFusion Profiler application. While the project is still in it's "ugly ducking" phase, I have begun to clean the code up a bit and it is well on it's way to a "1.0" release. (I'm calling this the 0.2 release, just because I can.) Updates include:

  • Documentation! Woohoo! It now comes with a Word doc (written with Open Office Writer) that describes how to install Starfish, and talks a bit about the usage. It is not complete - but will at least get you started.
  • Template chart now includes the title.
  • CFCs now have charts.
  • CFCs now have a print/excel format. I don't know about you - but I can't seem to ever make nice looking PDFs. Does anyone have any suggestions for how to clean up the PDF?
  • If a CFC had a complex object passed as the arg, it didn't format correctly. You will now see COMPLEX OBJECT as the argument.
  • Query reporting now show "Stored Procedure" in the SQL pane when you click on an entry that is for a stored procedure.
  • The number of records the query returned is displayed. Note - it is possible that the exact same query name+sql will return different number of records. Therefore I return the max number of records returned for the query.
  • Cleaned up the 'no data' message.
  • Added a way to refresh the data.

As always, you can download the code from the project page. I have one favor to ask - if you like these updates and have ideas, please use the forums, and please use one thread per suggestion. That will make it easier to watch.

Starfish ColdFusion Debugger Version 0 Released

So a few days ago I blogged about my new project, Starfish. Starfish is essentially a ColdFusion debugger that doesn't display information, but rather stores it in the Server scope. You can then display a report on this data in the CF Admin. I'm now happy to report that the initial version is ready for download.

Some BIG WARNINGS - This code is ugly. I'm not kidding. I know that some people have told me they have learned a lot from downloading my code and looking at it. Don't do that. Avoid the code like the plague. Ok, so it's not that bad, but it was written very quickly. I'd call this version more a Proof of Concept than a real application.

That being said - I'd love feedback on it. I've set up a forum for the project, so please use it for your ideas. Also, I've finally gotten around to creating a "Projects" site. You can see the Starfish project here:

http://ray.camdenfamily.com/projects/starfish

All of my projects will have a page like this - as I get around to it. As always, if you like this, visit my wishlist. (I'm still waiting for someone to pick up the Nano - what's wrong you people - too cheap?!?! ;)

Edited: Oops - so I forgot to mention. The zip has NO instructions. Here are some simple instructions for now:

Unpack the zip. profiler.cfm goes in cfusionmx7\wwwroot\web-inf\debug In your cf admin, turn on debugging and select the template. Take the other files and place them in:

webroot\CFIDE\administrator\profiler

Add this line to extensionscustom.cfm in your cf admin folder:

<a href="profiler/index.cfm" target="content">Profiler</a><br>

Goodbye MAX, and One More Thing...

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!