Count unique User IDs


#1

I’ve written a trigger to pull information out of web traffic to my web farm. In particular it pulls apart each of the applications in the farm (by unique URI) and run individual metrics on them. I’m able, for instance, to split up the HTTP.thinktime for each sub-URI. For Example http://farm/Site1; http://farm/Site2; http:/farm/site3 etc.

It’s easy enough to push HTTP.thinktime or roundtrip time back up in to an app and then commit. One thing I’m interested in, however, I just can’t figure out how to approach. We’d like to know how many users are active in the system in any given time frame. I can pull the UserIDs for each HTTP session out of a cookie in the HTTP_Request but I’ve no idea how to count unique values.

I’m sure it’s some combination of how I gather the info in the trigger and pass it to the app and how I design the dashboard but I can’t even figure out where to start.

Any ideas?


#2

Unique users normally implies some time interval over which you want to record that Uniqueness. Like
Over one day, over an Hour, Over 5 minutes, etc.

There are some examples of using the Roll up interval to trigger when to zero out the counters again and rebuild the table to include just the users that are ‘active’ during the interval in question.

It sounds to me like you are creating a Queueing Model with think time as one of your items and wanting to know how big your ‘active’ population is to feed that into the model. There are two items that come to mind about active think time and inactive think time (I see that as a pause between interactions). That pause could be much higher than the normal think time as the user is working with the data or doing other work before starting a new batch of interactions. Then there is the third duration - they went to lunch or meeting and that involved a very long break between interactions. You might consider studying that interval as well.

I think if you could pump that data out to an external collector you will find multiple clusters of inter-arrival times you should consider based on that mindset. Thus creating a couple of different models for your study.

I would be interested in your results and future study of this direction.