cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
mariadesouza
Level 3

Instrumentation help required

We have a self-hosted server. I have written code to keep a counter of users who do a particular task in our application. If I run it multiple times on the same computer on the same day. It will not reflect correctly.

Does it take time for the statistics to be updated when UpdateTransaction is called? When I view the report it shows me 1 even if I run the same code multiple times. Does it only record once per machine?

I have posted my code below. Any help would be appreciated.


#define _GROUP_TRANSACTIONS L"TestTransaction"
#define _ONLINE_USE L"Test-OnlineUse"

HRESULT hr = S_OK;
CoInitialize(0);
try
{
CComPtr im;
if (SUCCEEDED(im.CoCreateInstance(CLSID_InstrumentationMgr)))
{
CComBSTR PC = uid.c_str();
CComVariant value(1);
CComBSTR bsAction = _ONLINE_USE;
CComBSTR bsGroup = _GROUP_TRANSACTIONS;
hr = im->LogTransaction(PC,bsGroup,bsAction,TSend,value);
im->UploadTransactions(PC); }
}

catch(_com_error E) {hr = E.Error();} catch(...) {hr = E_UNEXPECTED;}
CoUninitialize();
0 Kudos

(5) Replies
ugar_k
Level 4

Hi Maria,

The Instrumentation manager records every instance of a log. So if a user has 10 instances of a certain action, they will be all recorded and timestamped ( you can see this in the tables if you have a SQL database ).

If you're using the reporting, first check to see when you generate the reports that you don't have "Show unique action for one product/version". This is very easy to miss, but right there ( the first option "Choose Report ) above the "Choose Product" drop down menu. You want to select "Show all actions for one product/version".

Let us know if this was your issue. On a side note, FYI, I found that the function GetNotificationCollection() calls UploadTransactions() internally ( I think this is currently undocumented in the documentation ).

Regards,
ugar_k
0 Kudos
mariadesouza
Level 3

Hi ugar_k,

Thanks for your help. I can see the transactions now. Since you mention GetNotificationCollection calls UPloadTransactions, I was wondering if I could LogTransactions and the Upload would happen during another session i.e. Is there a limit on the time or the number of transactions that can be logged before Uploading?
0 Kudos
ugar_k
Level 4

Hi Maria,

"I was wondering if I could LogTransactions and the Upload would happen during another session"

>> Yes.

"i.e. Is there a limit on the time or the number of transactions that can be logged before Uploading?"

>> I believe there is no limit on time and theoretically no limit on the number of transactions. For the number of transactions, it would be any internal architectural limit that the FLEXnet Connect Agent / Server have. I did hit a bug where it stopped uploading transactions, the transactions were being logged, but when Upload was called, it didn't update the logged transactions. Support is looking into. Try some performance testing. ( You could either create another test FLEXnet server for this or do your testing on your current server and then delete the records ). If possible, I'd recommend the former.

To give you a better understanding or their architecture, refer to the FLEXnet Connect 11 User Guide. They document a little more that should have been updated in the v6.1 documentation that lead me to figure out some things.

Specifically this:

"C:\Documents and Settings\All Users\Application Data\Macrovision\FLEXnet Connect\Database" is where the Machine/Product Registration is stored ( "{Product Code}.ini" per product )

and

"C:\Documents and Settings\\Application Data\Macrovision\FLEXnet Connect\Database" is the Profile Collections per product ( "{Product Code}.pf" ) and the Instrumentation Manager Transaction Logs per product ( "{Product Code}.trl" ).

I was able to figure all this out from the little blurb in the Sudoku example in the v11 documentation, FLEXnet Connect User Guide, Chapter 16, Adobe Pg. 454, when it describes how to see the Profile Data, and with some digging around. It's a shame all of this isn't documented clearly or at all, it would make life easier. The newer documentation seems to be headed in the right direction, but in baby steps...

Hope this helps.

Regards,
ugar_k
0 Kudos
mariadesouza
Level 3

Thank you ugar_k. I appreciate all your help.

I was able to see all the transaactions located in the Macrovision database files.

The only thing is the timestamp of the transaction is not same as the time the transaction is logged. Do you know how I can change the timezone for the FlexNet client?

Also do you know where I can the FLEXnet Connect 11 User Guide? It is very difficult to work with the FLEXnet 6 help.
0 Kudos
ugar_k
Level 4

Hi Maria,

"The only thing is the timestamp of the transaction is not same as the time the transaction is logged. Do you know how I can change the timezone for the FlexNet client?"

>> That's a good question. I don't know, and it's on my list of questions to find out from support. I noticed that it's 7hrs ahead of PST. Worst case scenario, we'll subtract 7 hrs from the timestamps in our queries.

"Also do you know where I can get the FLEXnet Connect 11 User Guide?"

>> http://www.acresso.com/downloads.htm

It's in the "Current Products" tab below "Downloads". If you can't see anything in the tab, click on the "Previous Versions" tab and click back on the "Current Products" tab. Everything is in the FLEXnet Connect row.

Hope this helps.

Regards,
ugar_k
0 Kudos