Saving Debugging Information

I am attempting to gather data on the time it takes for various templates and queries being loaded and run on a given request and save this data to a set of tables. I used a variation of the Classic.cfc debug template to do a set of DB calls to get the data I wanted out of the Debugging Data. However, this doesn’t work when the user cannot see the actual Debugging Information, so I need to find another place for this to occur. I suspect that there is a struct that is available that has the debugging data in it that I can access regardless of whether or not the Debugging Information actually renders. Does anyone know what this struct is called and where it can be accessed?

Zak_Spitzer,

I am new to messing with the Lucee files themselves so I apologize for being slow on the uptake. I am not sure I understand your file here, but from what I can gather, the file you pointed to seems to ultimately get its data from a form. I am not sure if this is what I am looking for (but again, this may be due to my inability to properly interpret the file).

The debug template file Classic.cfc has a set of functions that receive the debug data it presents. This is why I originally made a custom debug template using Classic.cfc as a base. However, as I noted originally, this file only runs when the Debugging Information renders on the screen. I suppose what I am looking for is a variable or struct that I can access regardless of if it appears on screen or not.

Here is the function in Classic.cfc that I was originally operating in:

...

Ultimately, I want to know where the debugging argument is coming from. I am hoping that I can possibly access whatever struct is being provided so I can use it elsewhere (possibly the application.cfc or similar).

Again, forgive my ignorance on how these deeper files work. I typically operate on the application itself as opposed to the inner working of Lucee.

Thanks

to get the raw debug info for the current request

dump(getPageContext().getDebugger().getDebuggingData(getPageContext()));

to get a list of all the debug entries in memory use, (as per the above file)

<cfadmin action="getLoggedDebugData" type="#request.adminType#" password="#session["password"&request.adminType]#" returnVariable="logs">

You can access and view the debugging logs via the Lucee administrator (which the above file is the source for)

2 Likes

I believe this is precisely what I was looking for! Thank you so much! You have been a tremendous help!