First of all - the Admin Console has all this information.
-I was doing load testing so don’t laugh at the 45K licenses
A few things to add - @aidacra is correct on where session is stored - by default -
Session is only accurate in the app server memory - the db table is the default option backup for if an appserver falls over and recycles. You can also plug in other storage mechanisms (not released but discussed in previous beta programs so there is some items floating around the internet on it).
So if you want to do more troubleshooting, you can look at the trace logs.
trace://ice/fw/session is your friend. Enable that flag in your appserver.config and you will see all activity going on around Sessions.
In 10.2.100 we a new trace flag that trims down the noise on sessions to just show when a license is in use or not - not why but just the counts - trace://ice/fw/license
An example is below.
Look at the element names to understand which trace they output comes from - Session or License. License is a heck of a lot less noisy so start there if on a newer version.
The details this gives are the client IP, the user name and what machine they accessed the server from.
It tells you which type of license ‘Default User’ is being consumed.
It tells you how many have been consumed and how many you have installed (1 of 45000)
When you logout, you see the release of the license:
If you want to build your own integration to monitor users, many have done so calling against the AdminSession Object. If you want to go down that path I’ll be happy to answer those questions as well.