cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Learn all about the Community Ranking System, a fun gamification element of the PTC Community. X

Best Method to Determine User Concurrency?

MichaelMarshall
1-Visitor

Best Method to Determine User Concurrency?

Greetings All,


What would be the best method to determine the # of users using Windchill at a given moment? Actually, not at a specific moment in time, but at reasonable intervals over time?


I looked at the Windchill Usage Tool that you can download from PTC.com. Looks good at first, but unless I completely missed something, it really only shows you which users made the largest % of a number of transactions. Not what I'm after, and not really worth sending the files to PTC for analysis.


The License Usage Reporting (Site->Utilities) doesn't appear to explicitly report # of concurrent users, rather the # of unique users for a given time frame. But, if you drill it down far enough to the 30-minute buckets, you can see the # of unique users in a 30-minute time frame. A reasonable approximation of the # of concurrent users? Maybe a little under-reported?


For a different approach, I went to Security Audit Reporting, and used the Login Event for a given Time Period. This will actually give a column titled Event Specific Data, and states 'Concurrency Users: XX'. I haven't exhaustively compared this (for a given time frame) to the above License Usage Report, but spot-checking tells me that these two track pretty well with one another. Seems like this would be slightly more accurate, given that it appears to add 1 for every new Login Even, but often number drop - I'm assuming due to an automatic "logout" after a period of elapsed time after the user's Login. Bad assumption?



Is there a better method? Would either of the above grossly over- or under-report the # of concurrent users?



Thanks All,


Michael


10 REPLIES 10

In R9.1 or higher, what about just looking at the active user count on
the server status page (or the equivalent JMX API)?

Note that there was a bug in this whereby users would be doubly counted
(once in uppercase and once in lowercase) in some cases, which was fixed
in some MOR or another. One can easily sanity check for this by looking
at the list of active users via JMX rather than solely looking at the count.

--
Jess Holle

Hi all, is there anybody out there using ECAD Workgroup manager for PDMLink 9.1?

We have a need to revise designs in the ECAD workgroup manager and specify a revision that is not the next label in the series. The ECAD WGM only revises to the next label; i.e. 1->2, 2->3, etc. We are told this is accomplished using a hook and was hoping to get some direction on how to proceed with writing one that will allow us to revise to a specific revision similar to what the revision override preference lets us do for other object types.

Has anyone experience with this that would be willing to share?

Thanks

Thanks Jess and Antonio.


Yes, the Server Status will tell me concurrency *right now*. I was looking for something reliable to do comparisons...today vs. yesterday, vs. last week, month, year, etc.



MIchael

Well, you can log that info periodically with a Summary MBean and graph
it from there.

Or in R10 you can click on the link to see the last 15 days of this info
and do simple DB queries for other such comparisons.

Hi Ryan,

I am not sure if it is possible to use hooks on Revise Action from WGM, but
you can try creating a Pre-Submit hook.

Refer to the "Using Hooks" in WGM ECAD User Guide for more details

1) Build a custom utility to perform your validation/updates

2) Write a batch script to call your utility

Note : You need to pass the WGM Environment path definitions for getting a
handle to XML files that you will be updating.

3) Launch ECAD WGM >> File >> Preferences >> Toolsets >> Hook Definition

4) Create New Hook definition (Refer to the WGM ECAD User Guide for more
details)

5) Bundle the above hook definitions and customization in the xmls.jar (If I
remeber correctly it is in
Windchill Server Codebase \ lib folder) for distribution to all clients

Regards,

Murugesh

Thanks Murugesh, that gives us a good place to start.

Personally I use WebLog Expert that reads Apache Log (d:\ptc\Apache\logs\access.log) and gives me a very good details in Hour/Day/Week report.


Not really sure how it actually caculates, you might have to test around with your own PDMLink installation first.


But it does not really tell you specifically at 11:45am and 32 second, how many concurrent user are there. You might be able to, since my WebLog Expert license was expired, I couldn't give it a try. But since in Apache Access Log, it has down to the seconds on each user access, I don't see why not it couldn't be gathered for your own purpose.


Or just open the log and count it manually, I don't see that at a give exact second, there would be 50 people connected at the same time. Unless you have a lot of users or heavily used system.



Please note that I don't think for those ProE connected users are recorded in access log. You might have to test it first.

Joe Chen
xPTC@Taiwan

On 9/14/2011 10:54 PM, Joe Chen wrote:
>
> Personally I use WebLog Expert that reads Apache Log
> (d:\ptc\Apache\logs\access.log) and gives me a very good details in
> Hour/Day/Week report.
>
> Not really sure how it actually caculates, you might have to test
> around with your own PDMLink installation first.
>
> But it does not really tell you specifically at 11:45am and 32 second,
> how many concurrent user are there. You might be able to, since my
> WebLog Expert license was expired, I couldn't give it a try. But
> since in Apache Access Log, it has down to the seconds on each user
> access, I don't see why not it couldn't be gathered for your own purpose.
>
There are a number of different concurrency metrics:

1. Number of servlet requests taking place at a given instant in time
(in a given server process, in a given cluster node, or across an
entire cluster)
* This varies wildly in very short periods of time. The maximum
concurrency at this level is almost invariably much lower than
the number of users actively using the system -- since not
everyone is requesting their next page at the same time.
2. Number of method contexts taking place at a given instant in time
(in a given server process, in a given cluster node, or across an
entire cluster)
* This would be the number of servlet requests that are impacting
a method server at a given instant -- plus all the RMI and
background (queue) requests doing so as well.
3. Number of servlet sessions active at a given instant in time (in a
given server process, in a given cluster node, or across an entire
cluster)
4. Number of Windchill users active at a given instant in time (in a
given server process, in a given cluster node, or across an entire
cluster)
* This is close to #3 in many respects, except that a user could:
(a) have more than one active servlet sessions (e.g. if they use
more than one browser) and (b) interact with the system without
a servlet session (e.g. through Java clients).

Windchill monitors and provides all of these metrics, e.g. via JMX APIs
(in R9.0 and higher), on the server status page (in R9.1 and higher),
and (in X-20) in historic charts reached from the server status page and
monitoring tools pages (and in data tables from which these charts are
based). I'm not sure what WebLog is measuring here, but it can't be
monitoring #2 or #4 except by querying Windchill for its knowledge of
these metrics.

--
Jess Holle

P.S. Something monitoring Apache logs would also have to /guess/ about
#3. While there are ways to guess at this externally, that knowledge is
really only present in the servlet engine.

www.openlm.com

In Reply to Michael Marshall:



Greetings All,


What would be the best method to determine the # of users using Windchill at a given moment? Actually, not at a specific moment in time, but at reasonable intervals over time?


I looked at the Windchill Usage Tool that you can download from PTC.com. Looks good at first, but unless I completely missed something, it really only shows you which users made the largest % of a number of transactions. Not what I'm after, and not really worth sending the files to PTC for analysis.


The License Usage Reporting (Site->Utilities) doesn't appear to explicitly report # of concurrent users, rather the # of unique users for a given time frame. But, if you drill it down far enough to the 30-minute buckets, you can see the # of unique users in a 30-minute time frame. A reasonable approximation of the # of concurrent users? Maybe a little under-reported?


For a different approach, I went to Security Audit Reporting, and used the Login Event for a given Time Period. This will actually give a column titled Event Specific Data, and states 'Concurrency Users: XX'. I haven't exhaustively compared this (for a given time frame) to the above License Usage Report, but spot-checking tells me that these two track pretty well with one another. Seems like this would be slightly more accurate, given that it appears to add 1 for every new Login Even, but often number drop - I'm assuming due to an automatic "logout" after a period of elapsed time after the user's Login. Bad assumption?



Is there a better method? Would either of the above grossly over- or under-report the # of concurrent users?



Thanks All,


Michael







David T. Francis

Announcements


Top Tags