> Russ Michaels wrote: > I think you are incorrectly assuming that FusionReactor is a debugging and > load testing tool,
No not at all. Thats why I called it a 'diagnostic reporter' earlier on. Something I don't need at all for the most part but need desperately when things aren't going right and I haven't figured out why yet. Thx by the way for the load testing tools link. > Don (Dan?) wrote > Am curious as to what you did there. Would you mind sharing how you did that? > ( I dont need code ) just your idea(s) explained with some more detail. Sure, but dumping out the code is probably faster than explaining it :-) in Application.cfm I define a 2D session-scope array if not isdefined. Next I build a variables-scope struct that contains the following cgi scope info: cgi.https, cgi.http_referer, cgi.remote_addr, cgi.request_method, cgi.server_name. You can skip the last one if you are tracking only one domain. Next I define a variables-scope struct containing all form scope fieldnames and their contents, if any exist. After that I define a variables-scope 1D array that contains 5 items in this order: 1. date/time to the second 2. cfid+"_"+cftoken values 3. The complete url including query string (built for another purpose and re-used here). 4. the form variables struct created above 5. The cgi variables struct created above. Lastly I arrayAppend the 1D array created above to the 2d session-scoped array, which is the actual breadcrumb trail. What you get in the end is a visually compact, chronological display of what the user did, complete with how long they paused between moves, form inputs made etc. There is enough info in this to re-create a genuine user session manually yourself to watch what goes wrong, or just spot a bot up to no good. This is delivered to me in an error report that holds a dump of all desired scopes so this is part of a more comprehensive reference that I can look up as needed. Looking at this I can see a couple of things I could do better. No need to store the cfid/cftoken on every step. Should be at 1st item only and thats it. Also the cgi.server_name is redundant since I am outputting the entire url. Its created in pieces and assembled at the end to minimize need for cflocks, which are named and not session scoped. Execution time is only a few ms, using the timer I noted in the previous post. Forget what it comes out to exactly as its been some time since i put this into play. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:359753 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm