[Looking for Charlie's main web site?]

I'll be speaking at cf.Objective() on "Stack Tracing CFML Requests to Solve Problems"

Note: This blog post is from 2010. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Though I got the news a couple of weeks ago that my submission to cf.Objective() 2010 had been accepted, I only tweeted my delight about it and didn't blog it. Here's the description:

"CF911: Stack Tracing CFML Requests to Solve Problems"

Regardless of what CFML server monitoring tool(s) you have, or even if none, did you know that you can use a feature called "stack traces" to be able to pinpoint the exact line of code that a CFML request is running at any time? Did you know how to use that information to troubleshoot performance/stability problems? Do you know how to obtain that information either manually or automatically (such as during a crash while you're not watching)? Do you know how to obtain that information in any of the CFML Server Monitors (FusionReactor, SeeFusion, the CF8/9 Enterprise Server Monitor), or with free command line tools? And how to do this for any CFML engine (CF, Railo, BlueDragon, etc.)? Do you know how to interpret the information once you get it?

In this session, veteran CF troubleshooter Charlie Arehart will help remove the mystery from using stack traces. It really is amazingly simple with the right tools, and it can be incredibly useful to solve otherwise thorny problems, once you understand how to interpret the information.

Of course, I'm thrilled to be heading back to Minneapolis. I spoke there previously in 2008 and 2007 but couldn't attend in 2009. It'll be great to see all the fine folks who run and attend this unique conference.

BTW, I just saw also that CFUnited announced another round of topics accepted today and I see a topic whose title if very similar, "How to Read a Stack Trace", by the inimitable Daryl Banttari. It's hard to tell from his brief description how similar these will be, but Daryl is awesome so I'm sure I'll learn much from his. (I was literally just about to offer mine as another CFUnited submission but now won't of course. :-) Hopefully another of my submissions will be accepted, so I can keep my streak of having spoken at every CFUnited since they started.)

Anyway, the good news is that whichever conference you go to, this important (and often misunderstood) topic will be covered! :-)

Spying on ORM database interactions: Hibernate, Transfer, etc. on any CFML engine

Note: This blog post is from 2009. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
As people use CF9's ORM feature (or other ORMs like Transfer and Reactor, or indeed Hibernate, on any version of CF6+ or indeed any other CFML engine), they may be left wondering what sort of SQL interactions happen "under the covers" between the ORM framework and the database engine (whether in a given request, or perhaps at startup of CF).

Well, there are several ways you can watch them, as this entry will discuss, and some may be better suited to the job than others. It can be very interesting to discover what's going on, especially if you're having any suspected performance problems which you think may be related to ORM processing (or just if you wonder what all it does for you).

[....Continue Reading....]

CF911: Easier thread dumps and stack traces in CF: how and why

Note: This blog post is from 2009. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
You may have heard the value of taking thread dumps or stack traces when trying to understand and resolve problems with CF. They can be valuable to see what's really running on your server at the time it may seem hung or slow to respond. The problem is that they can be challenging to obtain, so here's how to get them even more easily.

(If you're not familiar with the value of thread dumps or stack traces, read on. The resources I point to get help you to appreciate their usefulness.)

[....Continue Reading....]

My New Adobe Dev Ctr Article: Multi-user access for CF Admin and RDS

Note: This blog post is from 2009. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
I have a new 16-page article that was posted to the Adobe CF Developer Center yesterday:

Enabling multiple user access to the ColdFusion Administrator and RDS

If you're using CF 8 Enterprise or Developer edition, you should at least be aware of this feature. Even if it doesn't sound like something you'd need or want to use, check out at least the introductory section.

Besides explaining the features, and showing how to set them up and use them for practical solutions. It also addresses many gotchas and cautions to note, some of which may be surprises.

It shows using the multi-user admin feature for spreading out who can work on different parts of the admin (and shows enabling it even only for access to the CF 8 Server Monitor.)

And for the multi-user RDS feature, it shows leveraging it specifically within Eclipse and Dreamweaver (and points to resources for more on each and on using it with HomeSite+/CF Studio.)

I welcome comments or questions about the article here.

PS If you want to comment asking why one would use RDS due to security concerns, please read the article first. This addresses one significant concern and also points readers to additional resources to consider other concerns.

Tracking number of CF sessions per application easily, and why you should care

Note: This blog post is from 2009. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Ever wanted to count how many sessions are active on your server, in total and per application, whether on CF 7 or 8? And regardless of whether you're using CF's regular sessions or the "new" J2EE sessions feature introduced in CF 6? Would you be surprised to find you could have a shocking number of active sessions?

[....Continue Reading....]

CF911: CF 8 Server Monitor reports "ColdFusion Server is unavailable" (solution)

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Here's another entry in my CF911 series. If you try to open the CF8 server monitor and get the error "ColdFusion Server is unavailable", the problem may be in your web server configuration. In this entry, I help you confirm if you're getting the problem I refer to here, and of course I show the solution (3 actually), with a caveat.

[....Continue Reading....]

45 Page User Guide for the CF 8 Server Monitor

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
If you're exploring the ColdFusion 8 Server Monitor, or perhaps have been using it and wonder if you may be getting all you can out of it, I want to point out an available 45-page user guide for it.

Ok, that's a bit of a tease. I'm referring to my 4-part series of articles on the Monitor available in the Adobe Dev Center. While I did them several months ago, I still often see people ask questions that are answered there, so I wanted to take a moment to remind folks of its existence. I realize that everyone may not keep up on the articles posted in the DevCenter (but I'll note that I offered an entry recently on how to keep up on new postings there and elsewhere.)

My CF8 Server Monitor article series was divided into 4 parts, which I've listed below. I also show here each articles's sections. (Note that the "table of contents" offered on the left of the online articles doesn't always list each section heading: it's more for breaking up the articles into managable sized online pages, which is too bad if one uses them as a gauge of the article's sections.) I've also broken down the sections into subsections.

  • Part 1: Using the Server Monitor in development
    • Unlocking the "black box"
    • Starting and using the Monitor
    • What it means to "Start Monitoring" (or not)
    • Useful monitoring for development
      • Tracking shared scope memory utilization
      • Track slowest tags or function calls
      • Tracking largest variables in a request
      • Tracking JVM Memory Usage
      • Tracking cached queries
      • Tracking large, slow, and frequent queries
  • Part 2: Using the Server Monitor in production
    • Challenges in managing a production ColdFusion 8 server
    • More zero-overhead reports
      • Template Cache status tracking
      • Session tracking revisited: active sessions over time
      • Tracking ColdFusion errors
    • Reports enabled with monitoring, profiling, or memory tracking
      • Avg Response Time and Requests Per Second
      • Active Requests
      • Queued/running requests over time
      • Finding heavy hitters
      • Active Queries
    • Aborting unresponsive or troublesome requests
  • Part 3: Automated monitoring and request management with Alerts and Snapshots
    • Automated monitoring and request management with Alerts
      • Toward 24x7 operations
      • Configuring Alerts
      • Available actions (overview)
      • Types of alerts
      • Viewing Alerts data
      • Available alert actions (details)
    • Substantial diagnostic details with Snapshots
      • The Snapshots page
      • Viewing snapshots
      • Stack traces within the Snapshot
      • Accessing past snapshot data
  • Part 4: Multiserver Monitor, Admin API monitoring, and more
    • An enterprise dashboard with the Multiserver Monitor
      • Opening the Multiserver Monitor
      • Adding new monitors
      • Observing the status of a monitored server
    • Some possible challenges using the Multiserver monitor
      • Securing the monitoring of your server
      • Be careful with browser caching and the cross-domain file
      • Multiserver Monitor configuration is stored per the domain used to open it
    • Programmatic Monitoring with the Admin API
    • Tweaking the Monitor in the Settings section
      • The General settings tab
      • The Filter Settings tab
      • The Profiling Filter tab
      • The Aliasing tab
      • The Refresh, Reset All Statistics buttons
    • Miscellaneous aspects of the Monitor
      • Flash Remoting must be enabled
      • Start settings remain enabled
      • Monitoring even when the server is becoming unresponsive

I hope you'll see from the above that there could be much more to the CF monitor than you may have realized. Each of the subsections often has lots of useful tips, tricks, and traps that I've observed over a year of use in both development and production.

And though I make the point in the articles, I'll repeat that some of the features come with zero overhead. I've blogged about that before. Don't let people tell you never to use it because it will harm your server's performance. As I say in each of the above, it's only the "Start memory tracking" button (one of 3 at the top) that could be trouble (and maybe "start profiling", but to a much less worrisome extend). But you don't even need to use the 3rd (and least obtrusive button) "start monitoring" to get a lot of great value from it. I stress more about this in parts 1 and 2 of the series.

What about FusionReactor and SeeFusion?

Of course, my support for the CF Server Monitor doesn't diminish my enthusiasm for alternatives like FusionReactor and SeeFusion, nor do I see one replacing the other as I've written about before. Each does something the other may not do, and I see value in each of them (and even have recommended running more than one at a time to solve certain problems).

See my corresponding blog categories on these, at the right, to find more entries on FR and SF, as well as the CF8 Server Monitor.

I just want to help people make the most of whatever monitor they use.

Available for Consulting Help as well

I'll throw in, as well, that if you need help using any of these tools, or doing any CF server troubleshooting, I'm available for consulting help, whether online or on-site, for as little time as is needed to help solve the problem. See my consulting page for more information. I've helped many organizations, large and small, resolve nagging problems, using either (or none) of these monitoring tools.

Feel free to contact me any time to pose a problem related to performance, stability, or similar errors or problems, and I'll let you know if it's something I can help with.

Averse to reading 45 pages online? you don't need to

For those who don't fancy the prospect of reading 45 pages of content online, note that I'm referring to the page count as it would be if you printed the available "printable version" (offered on all DevCenter articles). You can use that feature yourself to obtain a single long HTML page for each article, and then if you want you could print that out. (And if you use features in your printer to print multiple pages to a side and 2-sided, as I discuss here, you can fit it all in just a few pieces of paper!) (Update: tipicalcharlie domain is no more, but page recovered using Archive.org.)

I'll add that for those who prefer watching over reading, I've also given presentations about the monitor at several conferences and user groups (some available as online recordings), which you can find at my presentations page.

My latest Adobe Devnet article on CF8 monitoring: Part 3 and 4 now posted

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Parts 3 and 4 of my 4-part series on the CF8 Server Monitor are now posted on the Adobe DevNet site. Part 3 was posted several weeks ago, but with the holidays, etc. I just failed to get word out. Part 4 was posted yesterday.

If you've not taken a look at these, you may be missing out. There are some misconceptions about the monitor, and also I think most don't realize that it can do much more than they may suspect. There's precious little documentation (and discussion) about it, so you may find things here you won't find anywhere else.

The third and fourth parts, specifically, have the following sections:

Part 3

  • Automated monitoring and request management with Alerts
  • Substantial diagnostic details with Snapshots

Part 4

  • An enterprise dashboard with the Multiserver Monitor
  • Programmatic Monitoring with the Admin API
  • Tweaking the Monitor in the Settings section
  • Miscellaneous aspects of the Monitor

Sure, I've just written about FusionReactor yesterday, and will write still more about the new release. I don't see it incompatible to help people make the most of whatever tool they may use. I've written previously also about SeeFusion. Indeed, I've written previously that that each has their place, even in the face of CF8's server monitor.

I'd like to hear from readers

The DevCenter articles offer a feedback link, but so far I've not gotten any (and they say they will forward any they get). I'd really appreciate hearing from anyone who has read the articles. I really feel that they go way beyond what's available in the docs and help, to bring together information and concepts you might otherwise miss. Has it helped you at all?

Finally, do you ever wonder why some call this area of the Adobe site "DevNet", "DevCenter", and/or some the "Developer Connection"? Well, the URL has devnet in it, but the breadcrumb bar at the top of my articles shows "Home > Developer Connection > ColdFusion Developer Center". Go figure. :-)

My latest Adobe Devnet article on CF8 monitoring: Part 2, "Using the Server Monitor in production"

Note: This blog post is from 2007. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Some may be interested to learn that I've had another article published on the Adobe Devnet site yesterday: "ColdFusion 8 server monitoring - part 2: Using the Server Monitor in production".

This follows up the part 1, which focused on uses of the monitor in development. There will be 4 parts ultimately, all listed in the Developer Center, with the 3rd part discussing the alerts and snapshots features, and part 4 discussing the Multiserver Monitor, Admin API monitoring features, and various miscellaneous observations.

The CF8 monitor offers a lot more than many would think, and insight into certain inner workings of CF that we've just never had before. I try to highlight things that you may have missed if you've only glanced at it or attended brief overviews at conferences or user groups. I will likely to my own presentation on it in the future..

No one should read from this that I'm any less supportive of 3rd party tools like FusionReactor and SeeFusion. As I've stated before, there's clearly a place for those tools for shops not yet on CF8, and even once on CF8 I believe there are differences among all the tools that could warrant having more than one at once.

CF8 monitor doesn't run on CF8 Standard, or any 6 or 7. What to do?

Note: This blog post is from 2007. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
I'm surprised to still see people lament when they learn that CF8's server monitor does not run on CF8 Standard, or that it doesn't run at all against CF 6 or 7. My surprise is that their comments often make no mention of being aware of alternatives. On one list, someone said they might even be willing to pay double CF Standard's price to get monitoring in Standard. They just didn't like paying 6 times more (for Enterprise).

Well here's the thing: you can indeed get CF server monitoring, whether added to CF8 or made available in CF 6 or 7, and for far less than even double the cost of CF Standard. Some of you know where I'm going, but in case it needs to be said...

Check out FusionReactor and SeeFusion, both tools that I've written about before (see the "related entries" links at the bottom of this entry.)

Both these tools not only run on 8 (any edition), but they run on 7 and 6 as well, which CF 8's monitor does not. Further, FusionReactor can monitor not just CF but also any J2EE servers or app (including LiveCycle Data Services, for instance), and SeeFusion has a sister product, SeeJava, that can do this as well.

I've been a huge fan of both tools for a couple of years. No, they're not identical to CF8's monitor, and CF 8's monitor has access to a lot of information that those tools don't (for now, though they could be modified to access it as well, via the Admin API if running on CF8 Enterprise). But even until then there are features each of them has that CF's monitor doesn't, and vice versa.

I know some instead want Adobe to offer the monitor somehow to those on Standard, whether at some price or in some new edition. The chances of that seem seem pretty slim for now, though certainly interested folks should make their concern known. And certainly, it's worth noting that one can run the CF8 monitor on the Developer edition.

But some rightly point out that they want CF server monitoring in production and they can't use Adobe's on CF8 standard (or on 6 or 7). (And they're asking for more than just monitors to tell if the server's up or down, etc. Sure there are plenty of tools to tell that, but they want real insight into the processing of requests, threads, queries and more, which only these tools can do.)

I just want to make sure those folks know there are indeed good, professionally managed alternatives to get that on CF8 standard and earlier versions of CF, and those options are at low costs and come with free trials. (Same goes for step debugging. While the new debugger in CF8 works only with 8, FusionDebug, from the same company that makes FusionReactor, works in 6, 7, and 8.)

As I wrote before, I don't feel that the availability of the CF8 monitor (or debugger) diminishes the value of the third party tools for those on CF8. Keep an eye on the monitoring category here in my blog as I'll continue to write more about all 3 monitors in the future. They each have their strengths and their place.

More Entries

Copyright ©2024 Charlie Arehart
Carehart Logo
BlogCFC was created by Raymond Camden. This blog is running version 5.005.
(Want to validate the html in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting