You can learn more (in brief) about what's new in the bullets for 9.2.0 offered at the release notes page.
TLDR: For some folks, news of the new version is all the need to hear. For those who may like to hear a bit more about the update, read on.
5 new features; 6 improvements, modifications, and bug fixes
Again, the release notes lists what's new in brief bullet points, and it indicates some as "new features", some as "improvements", some as "modifications" (subtle difference), and some as "bug fixes". I'll let you read those there rather than merely repeat then.
But there are just a couple of items from that list which I DO want to highlight a bit more. (Don't rely solely on this: you may just as well LOVE one of the other changes!)
More "CF Metrics" for Adobe ColdFusion
Given my traditional audience (folks developing with or helping run Adobe ColdFusion), I want to point out first and foremost an important improvement: If you go to the FR Metrics>CF System Metrics page, you will see several graphs there.
And sure, these have been there for a few years. But at some point (starting with CF 2018, I think), many of those graphed values were always 0--because FR was no longer tracking the metric :-(. Plenty of the others DID still work, but some graphs (or parts of them) just never showed any non-zero value.
That's what's fixed with 9.2.0, and some of these are really quite compelling. You can now see (for CF2018 and 2021) values reflected (if the metrics are non-zero) for:
- The size of memory used (in aggregate) for each of session, application, and server scopes (yes, really!)
- The number of cached queries, and the count (query cache size)
- The template cache hit ratio (whereas the template cache size/count was always populating)
- The number of cfthread threads running or queued
- Metrics related to the "request throttle" feature, controlled via the CF admin "Request Throttle Threshold" and "Request Throttle Memory" settings. (This feature has precious little discussion in the CF docs. See a bit more at this ServerFault discussion of the feature. I do hope this ability to better monitor things could help expand our understanding.)
Again, to be clear, these items ALREADY were showing on the graphs, but they were never non-zero (for ColdFusion 2021 and 2018), so they may as well not have been there!
And also, there certainly are OTHER metrics there which I am NOT mentioning here. Again, I'm not discussing this "cf system metrics" feature as being "new", so I am not discussing ALL that it shows. Just go check it out, especially with a system getting reasonable request activity that leverages these features. For a bit more, see the docs page on the feature.
You may wonder why this 9.2 change is not called a "bug fix" (since it returned behavior that was missing for a time). My understanding is that the issue is that in this case, it wasn't FR that "had a bug" preventing it showing these metrics: it was that Adobe had changed the internal CF libraries that FR had previously been relying upon. It took time to get that sorted out between the FR and CF teams.
The FR folks would almost certainly prefer I listed this first: the release in FR 9.2 of "distributed tracing" is the fruition of much work over recent months (if not years) by the FR team, bringing what is to some is the pinnacle of observability (o11y, for the 11 letters between the opening O and closing y): the ability to trace the flow of execution of requests not only within the monitored instance (jvm, such as CF, Lucee, Tomcat, etc.) but ACROSS other services and platforms (including databases, APIs, and more), typically by way of the Open Telemetry (otel) and Open Tracing standards .
Rather than try to elaborate further on the topic, let me point you instead to various resources that the FR team have created recently (some in the ramp-up to the roll-out of this feature, so perhaps not yet really elaborating on the final implementation):
- End-to-end distributed tracing (brief feature highlight)
- What is Distributed tracing, and what is distributed tracing used for? (2022 blog post)
- How To Monitor Your Log File with Distributed Tracing (2022 blog post)
- What is OpenTelemetry? (2022 blog post)
- Getting observability into a distributed system (2022 blog post), discussing demo of integrating tracing with Lucee, Java, Node, Go, and Kafka)
- Webinar Distributed tracing and on-prem observability (from 2021)
- and more sure to come
Suffice it to say that distributed tracing opens tremendous possibilities for observability of applications, with regard to FusionReactor and the applications it supports.
Custom labels for metrics, logs, and traces
With 9.2.0, you now have the option to configure up to 8 sets of key-value pairs to be added to either (or all) of the metrics, logs, and traces that FR creates. This can be configured via a new set of JVM system properties. For more, see the docs on setting these new properties. Sadly, that page really is only about SETTING them. I've not yet found more on how those metrics would APPEAR in the metrics, logs, or traces. And I haven't had time yet to dig into this to offer that here (in case somehow they may won't offer more), but I wanted to at least call it out--and I wanted to get this post out rather than wait to fully explore that!
Still other FR 9.2.0 features
Again, these are NOT the only new, improved, or fixed features introduced with FR 9.2.0. In particular, see the release notes for more on improvements related to monitoring of calls to httpclient, OkHttp, MongoDB, RabbitMQ, and Kafka, as well as a couple of Lucee-specific improvements (in particular, about monitoring cfthread threads).
How would you know if/when there's an FR update?
Before wrapping up, some may wonder how they would even know if/when there's an FR update? There are actually several ways, as you might come to notice over time after each release.
Some FR users know that if you look at your FR UI, you may see the news when a new version comes out. Others know that the FR downloads page shows the date of its available installers, which was of course updated that day. FWIW, the release notes page does of course indicate when there's a new version, but it doesn't (currently) list the date of those versions (nor even a last update date for the entire page).
And of course, in time the FR folks may come out with a blog post on their site, and then they will soon notify users by email.
FWIW, users of the FR Cloud UI were informed immediately of the new version (that's when I first noticed it), while those using the traditional "on-prem" UI started seeing the news a few days later. This, like the timing of the emails and any blog post, are all part of a staggered roll-out strategy.
Heads-up: a bug introduced with FR 9.2, affecting Adobe ColdFusion cached queries, if sent to Redis
Before wrapping up, I wanted to share news of a bug I learned about from a client (and confirmed), which we have reported to the FR folks. If you are using Adobe ColdFusion 2021, and its ability to set system-wide (or application-wide) caching to Redis, you will get an error when using cached queries (not other forms of caching, that we tested) when a cached query is attempted to be pulled back from Redis.
For now, the solution is to add a JVM system property that will in fact turn off those nice new metrics I just lauded:
You would add (CAREFULLY) this to the java.args line of the jvm.config file for your CF instance. You should save a copy of the current file first, to revert to in case you make any mistake. And while you could make such a change in the CF Admin "java & jvm" page, that's even MORE risky because if you make a mistake, it may not be until you find that CF won't restart--and then you can't get into the Admin to revert that change. So make such changes in the jvm.config file, instead. If instead they may come up with some other fix (like a new point release, perhaps 9.2.1), I will update this post.
As always, the FR guys have offered a surprising amount of useful new/improved capabilities in a point release like 9.2. Go check it out.
And I welcome feedback or other observations about the release or this post.
For more content like this from Charlie Arehart:
Need more help with problems?
- Signup to get his blog posts by email:
- Follow his blog RSS feed
- View the rest of his blog posts
- View his blog posts on the Adobe CF portal
- If you may prefer direct help, rather than digging around here/elsewhere or via comments, he can help via his online consulting services
- See that page for more on how he can help a) over the web, safely and securely, b) usually very quickly, c) teaching you along the way, and d) with satisfaction guaranteed