> 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

Reply via email to