Viewing By Entry / Main
October 24, 2006

I'm in Ashwin J Mathew's Unlocking the ColdFusion Server Black Box session right now. I had the opportunity to talk with Ashwin a bit last night, so I was pretty excited to see what he had to formally say on Scorpio's new server monitoring capabilities.

Right off that bat, he's showing screen shots of the application, which has a nice Flex front end. The server monitor is a ColdFusion app with Flex up front that runs within the ColdFusion administrator. It's useful for analyzing problems during development as well as pinpointing bottlenecks on production servers. It allows administrators to monitor overall server health. It's safe to run on production systems.

The Summary Screen shows JVM memory status, average request time, slowest active requests, reports, alerts, and errors. From there, you can pull up all sorts of other reports, charts, and graphs. Some of them are being demonstrated...

The template cache graph shows you exactly how the template cache is performing. Reports for slowest queries, slowest queries by average, queries by memory usage, and query cache.

Lots and lots of questions about how exactly certain features have been implemented, and lots of people asking for additional functionality. Ashwin's stated that the monitor isn't done yet, so there's most likely more to come. The monitor can also be used to track and analyze errors and timeouts.

The monitor can also be used for detailed request profiling. You can take a given request and show exactly which tags and functions are taking the most time to run. There's no code to add, just run the profiler and get the information you are looking for. The profiler also is useful for analyzing memory usage. It shows how much memory each variable is consuming. It shows the variable name, type, memory size, and what template is responsible. The report currently covers the top 10 largest variables, memory foot print wise. AWESOME!!!

There's a snapshot feature that allows you to take a snapshot of your server at any point in time and dump out the results for analysis.

You can also create alerts for various conditions you want to monitor. There are alerts for Hung Server and Slow Server. You can also create your own Alert types by creating custom CFCs.

Requests can also be filtered for monitoring, allowing you to include/exclude certain aspects of your site/server for monitoring.

Lots more reports including active sessions, active queries, request throttle data, database connection pool, highest hit counts, and more!

Lots of switches for turning on/off various aspects of the monitor: monitoring (everything), profiling, and memory tracking. Each aspect has a performance impact. Monitoring and profiling are minimum. Memory tracking can have a significant impact.

Finally, the infrastructure that supports the server monitoring app is CFC driven. What's particularly cool is that the whole thing is exposed as an API (servermonitoring.cfc) , allowing you to build your own applications and interfaces using the underlying monitor. Currently, there are between 40 & 50 methods.

The server monitor certainly shows a lot of promise. It's something we've been asking for for a long time. One interesting question is will it replace, or complement tools like SeeFusion and FusionReactor?

Comments
Nat Papovich's Gravatar "One interesting question is will it replace, or complement tools like SeeFusion and FusionReactor?"

While the introduction of the server monitoring utilities is a welcome addition to ColdFusion, it won't directly replace SeeFusion. The differences are many, but one primary difference is that SeeFusion is implemented as a ColdFusion-unaware Java servlet filter. You don't even need ColdFusion installed on the server. On the other hand, the new server monitor in Scorpio uses a CFC to deliver the data. When your CF server starts crawling (or even dies), so will the monitor, which is pretty much *exactly* when you need to get monitor information.

But like folks were saying in the session, "What took Adobe so long to create this?"
# Posted By Nat Papovich | 10/24/06 5:06 PM
Rob Brooks-Bilson's Gravatar Hi Nat,

Thanks for the comments. My initial reaction was "complement" too. It will be interesting to see how things progress from both standpoints.
# Posted By Rob Brooks-Bilson | 10/24/06 5:52 PM
Damon Cooper's Gravatar >>When your CF server starts crawling (or even dies),
>>so will the monitor, which is pretty much *exactly* when you need to
>>get monitor information.

Not at all. Server Monitor requests go straight to the front of the line to ensure everything is smooth and responsive.

Damon
# Posted By Damon Cooper | 10/24/06 9:40 PM
Rob Brooks-Bilson's Gravatar Hi Damon,

Thanks for clarifying.
# Posted By Rob Brooks-Bilson | 10/25/06 3:44 AM
Dipak Parikh's Gravatar Hi Rob,
Great post, covering detailed features.

This should really help finding performance bottlenecks & fine tune ColdFusion apps.
# Posted By Dipak Parikh | 10/25/06 6:05 PM
Rob Brooks-Bilson's Gravatar The memory profiling is going to totally rock!
# Posted By Rob Brooks-Bilson | 10/25/06 6:44 PM
Brad Wood's Gravatar Yeah, I use SeeFusion, and my first thought was wether or not I would still need it. One of the most powerful aspects of SeeFusion for me is the database logging. The pages and queries table let me look at the slowest pages from day to day, but the counters table is where it's at. I have a job every night which aggregates the data per day for each server, and then I have a series of Excel charts which I can run to view trending over the month, and monitor the distriution of our load balancer. I know I have too much time on my hands, but this data has been awesome. I didn't see anything about Scorpio letting you log data to a database somewhere for later inspection.
# Posted By Brad Wood | 10/30/06 9:08 AM
Rob Brooks-Bilson's Gravatar Hi Brad,

After talking more with both the CF team and the SeeFusion team, I'd have to say that while there is definitely overlap between the two solutions, there are still enough differences in both features and implementation that I don't see SeeFusion being thrown out with the bath water. It's an awesome tool, and I think you're going to find that it still has a lot of uses once Scorpio comes out.
# Posted By Rob Brooks-Bilson | 10/30/06 9:54 AM



Copyright 1995-2008 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.5.1.