Now in 8.7.7, which was released last week (Mar 1), the benefit of that feature has been extended so that a) the same information is written to both the FusionReactor request logs and b) it's also now available in FR crash protection alert emails. In this post, I'll show you examples of what's changed for each, and I'll note another related changes in the prior FR update, 8.7.6.
New columns for DB and API time in the Request Log
Here's an example first of the new columns in the request log, for a request which had 4.4 seconds (4438 ms) of API time. (I've removed a couple dozen columns in the middle of the line.) Notice how the last two columns in the log line now reflect the DB and API Time, appearing after the user agent:
Related to this, I'll note a bit of a gotcha: as of 8.7.6, the FR Archived Metrics feature for displaying the FR request log in its default display in "Spreadsheet" view does not currently includes these two new columns. (You can, of course, see the new columns in the "Text" view, which shows the actual request.log file content itself.) I have reported this problem to the FR folks and they plan to address it soon.
New CP alert email columns for the DB and API Time
The second aspect of this new feature set in 8.7.6 will be available to you if you setup FR CP alert emails: the list of requests at the top of the alert (the "triggering" or "running" request lists) now also offers these new cols for DB and API Time, displayed to the right of the request "Total Time".
Here's a screenshot from the top of such an FR CP alert email, showing the same request as above, along with the new columns pointed to on the right:
This matches the FR on-prem UI request summary pages, as I showed in the November blog post when the feature was added in FR 8.7.4. (They are also shown at the top of the details page for a request or transaction, which I'd not noted then.)
A couple of minor changes about these columns in the previous update, FR 8.7.6
FWIW, note that FR 8.7.6 (released in Dec 2021) included a couple of modest changes related to this feature of the DB and API Time columns: first, what we've referred to as "API Time" had been called "Service Time" when it first came out in 8.7.4, but in 8.7.6 it was renamed to "API Time". Second, as of 8.7.6, the "API Time" now includes CFML cfhttp time.
What's included in DB and API Time
Indeed, while on that topic of what's included in these times, let's take a moment to note that the "DB Time" column includes not just the time spent in JDBC processing but also other DB resource usage time, such as MongoDB, Redis, Elastic and Cassandra. As for API time, it includes cfhttp calls in CFML and httpclient calls in Java, as well as calls to http clients OKHttp, Micronaut, Vertx. (For now, it does NOT include calls to soap web services, such as CFML offers with cfinvoke, cfobject, and createobject. One could argue that the term "API time" would make more sense if it included other such calls besides http.)
In summary, again the inclusion of these DB and API times in the request summary pages of the FR on-prem UI (and in the "tracing" tab of a request in the FR Cloud UI) helps to readily identify whether the duration of a requests is made up of these kinds of resource usage times. Sometimes this can enable you to avoid needing to look into the request's details page.
Now the inclusion in 8.7.7 of these DB and API Times in the FusionReactor request log and FR CP Email alerts makes post-mortem troubleshooting all the more effective.
(FWIW, there were some other important changes in another previous update, FR 8.7.5, which I never blogged about. I hope to do that in a follow-on post soon.)
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