WOW Usage Tracking is a separately licensed, fee based add on provided by PlanetJ Corporation. Usage Tracking provides the ability to “track” who is executing operations along with search parameters and internal values, track sign-on and sign-off, and track sessions. It can also be used to track the  performance of your operations as well as give your developers an idea of which applications and operations are being used the most and the least. The tracked information is stored in a table (default name is TRACKING). The Usage Tracking add on also pairs up very well with PlanetJ's WOW Fusion Charts add on to provide graphical dashboards and charts for a better visual understanding of your tracking data.

 

Installation

AS400:

MySQL:

web.xml:

Setting up the Usage Tracking Application

Running the Usage Tracking Application

Usage

Usage Operations Overview

Operation Performance

Operation Performance Overview

WOW

WOW Operations Overview

Server

Usage Tracking Properties and Configuring Tracking for Your Applications

UsageTracking{ }

Configuring Usage Tracking With Init Params

Usage Data Tracked

Installation

Tracking provides the ability to “track” who is executing operations along with search parameters and internal values, track sign-on and sign-off, and track sessions. The tracked information is stored in a table (TRACKING) in your WOW user library. To use WOW Tracking you must set up the wowperf65 library and insert a script into your web.xml file. Setup instructions differ depending on your metadata server:

 

AS400:

 

http://localhost:8080/wow65/tracking/jsp/update.as400.jsp

 

MySQL:

 

  1. Open up an instance of MySQL Administrator.
  2. Sign into your MySQL database with a username and password that has restore privileges.
  3. Use the restore option to restore WOWPERF65 using the supplied backup file (wowperf65.sql).  

 

web.xml:

No matter what type of server is used, you may need to add a script to your web.xml file if you plan on tracking a) User signons or b) user sessions.  If tracking user sessions or user signons, the web.xml file for the web application requires an entry (insert after <description> tag) that points to either SessionTracker (when "sessions" are to be tracked) or SessionListener (for "user sign on" tracking):

 

"Session" tracking or "session" tracking combined with "sign on" tracking:

 

<listener>

<listener-class>planetj.dataengine.tracking.SessionTracker</listener-class></listener>

 

"Sign on" tracking only:

 

<listener><listener-class>planetj.dataengine.tracking.SessionListener</listener-class></listener>

Setting up the Usage Tracking Application

After you get the wowperf65 library restored in your database, you will need to set up the usage tracking application, which provides a set of operations to analyze your tracking data. To work with the usage tracking application, you will first need to call the builder and reference your new wowperf65 library by using the ?_pj_lib=wowperf65 parameter.  An example of a URL would be: www.testingserver.com/wow65/wowBuilder?_pj_lib=wowperf65. This will bring up your WOW Builder screen with the library set to wowperf65.

Notice the user library is referenced at the top of the page (it is set to wowperf65 in the image).

The next step is to sign in to the builder.

The E-mail should be set to: tracking@planetj.com

The Password should be set to: wow

NOTE: PlanetJ recommends that you change your password and/or E-mail sign-in after signing in and getting everything set up in the wowperf65 context. To change the password and/or the E-mail address run this SQL statement against your database:

UPDATE wowperf65.admin SET email = <email>, password = <pass> WHERE id = 9;

If you don't wish to change the email for signing in (tracking@planetj.com) just leave out the “email = <email>,” from the SQL, this will leave the email but will change the password to whatever you replaced the <pass> with.

 

Once logged in you should be taken to the Application page inside the builder. The Usage Tracking Application should be in there, it's called "WOW Tracking & Performance." This is the application that is set up to read from the tracking tables and overlay charts/graphs and dashboards to allow for better understanding of your tracking information.

 

You will need to go into the "Connections" tab and set up the connection so that the application is connecting to your metadata database. When you go into the "Connections" tab, you will see a connection called "TRACKING-PERFORMANCE."  This connection will need to be edited to include your metadata database IP address as well as a valid User ID and Password for that database.

 

This is the edit screen for the connection.  The fields with the red arrows next to them need to be filled in with your databases information, including a valid UserID and Password for the database.

Try starting the connection to verify settings.  After the connection has been customized to connect to your database, the Usage Tracker is ready to use.

Running the Usage Tracking Application

Your Usage Tracking Add-on comes with a fully functional tracking & performance application set up inside the user library (wowperf65). Once you have your connection set up and set tracking up on some operations and/or applications, you can use this usage tracking application to track your own data.

NOTE: The TRACKING table may contain sample data that was used when creating the Usage Tracker application.  If the TRACKING table contains data, be sure to clean out the table before starting tracking, or this data will remain in the table and may impact your data.

 

 

 

As you can see, the Usage Tracking Application has 4 different menu items, "Usage" "Operation Performance" "WOW" and "Server". Each of these items are discussed in depth below.

 

Usage

The "Usage" section of the application contains operations that help developers understand the traffic and use of their WOW Applications and Operations.  It also contains dashboards, charts and graphs to help put an image to the numbers.  

 

 Usage Operations Overview

There are four data operations in the Usage section, as well as two dashboards and seven chart operations.  This overview will briefly explain each of these operations.

Operation Performance

The "Operation Performance" section contains operations that provide needed information about performance.  WOW Tracking records information such as database read time, UI generation time, result set read time and overall operation runtime.  This section also contains charts and graphs to help put an image to the numbers.

 

 Operation Performance Overview

There are 3 Chart operations along with 9 data operations in the Operation Performance section.  This overview will briefly explain each of these operations.

 

WOW

The "WOW" section contains operations that deal with WOW Application performance.  These operations help to detail the caching level of WOW operations and Possible Values Operations, a good way to improve performance.

WOW Operations Overview

There are 2 data operations in the WOW section.  This overview will briefly explain each of these operations.

 Server

The final section, "Server", contains an operation that tracks the JVM of the server.  Both Max and Current JVM are recorded and displayed in a stacked line chart, similar to the image below:

As you can see, the data can be filtered based on a Date Range.

Usage Tracking Properties and Configuring Tracking for Your Applications

Listed below are the new properties for the UsageTracking property group. Most of these properties can be specified (in the properties field) on both the application and operation levels (the signon property is an application ONLY property). Note that any tracking property assigned to an operation will override any tracking properties defined at the application level.

 

UsageTracking{ }

Property

Value

Description

operation

TRUE | FALSE

If specified in the Application (as TRUE), activates tracking for all operations in the application (unless turned off (FALSE) in a specific operation). If specified in the operation, overrides property in Application.

signon

TRUE | FALSE

If specified in the Application (as TRUE), activates tracking for users signing on to the application. This property can only be specified at the application level.

table

table name

If specified in the Application, indicates the table to receive tracking entries for the application. If specified in the operation, overrides property in Application. Defaults to table TRACKING.

schema

schema name

If specified in the Application, indicates the library/schema containing the tracking table. If specified in the operation, overrides property in Application. Defaults to the WOW user library (e.g. PJUSER64).

 

Examples:

 

If you want to track user signons, you'll need the below configuration in the properties for the application to be tracked.  You will also need the web.xml listener entry (from the setup instructions), which is needed for session timeouts (where an explicit sign off is not performed):

 

UsageTracking{

   signon:TRUE;

}

To set up Usage Tracking on ALL operations within an application, your properties in your Application will have to look like this:

 

UsageTracking{

  operation:TRUE;

}

 

If you want to track all operations except for 1 specific operation (or many specific operations), first set the above properties in your application.  Next, for any operation to be excluded from tracking, change the operation properties as follows:

 

UsageTracking{

  operation:FALSE;

}

 

If you don't want to track most of your operations, but instead just a few specific operations within applications, you would leave the application properties blank and just fill in the properties below in your operation:

 

UsageTracking{

   operation:TRUE;

}

Notice the UsageTracking { } property is set in the properties field.  In this example, it is set to track all the operations as well as signons and sign offs (because it was set on the Application, not a specific operation).

 

Here is an image of a sample set of properties in an Operation:

Notice the UsageTracking { } property is set in the properties field and, in this example, is set to turn tracking for this particular operation off (Operation:FALSE;)

Configuring Usage Tracking With Init Params

Configuration settings for usage tracking can be set either in an Application’s properties or in the WOW init params. (More information on WOW Init params can be found here.)

The usage tracking init params are as follows:

Init Param Name

Data Type

Description

wow.tracking.schema

text

The schema containing the table used to store tracking data. (Overridden by value in Application properties.)

wow.tracking.table

text

The name of the table used to store tracking data. (Overridden by value in Application properties.)

wow.tracking.expiration.days

integer

Entries in the tracking table may be automatically deleted by WOW after this many days.

Usage Data Tracked

This section describes the fields in the TRACKING table, the data type inside those columns and the description of what the fields contain.

 

Item

Data Type

Description

TRTYPE

CHAR (3)

SON = user signed on, SOF = user signed off, ROP = operation ran, NSE = new session created, ESE = session ended.

TRSUBTYPE

CHAR (3)

Future use

OPID

INT

The operation’s ID

APPID

INT

The application's ID

USERID

CHAR (50)

User Id that signed on to the application, if application is secured.

SESSIONID

VARCHAR (50)

Unique session ID assigned to user's session. Can be used to tie together different tracking entries (especially when no user Id is available).

IPADDR

VARCHAR (1000)

The users IP address that this request was executed from. Provides another layer of security.

SPARMS

VARCHAR (1000)

All parameters specified by the user in search operations in KEY-VALUE relationship. For example: (“age=17, state=CA”)

IPARMS

VARCHAR (1000)

All internal parameters such as association row values or sign on row values.

DESC

VARCHAR (1000)

Optional description of activity

STARTTIME

Timestamp

When operation started, used for tracking and also performance stats. Also provides timestamp when other entries added.

ENDTIME

Timestamp

When operation completed. Used for performance measurements.

STATUS

CHAR (1)

Used for workflow. Allows admin to flag operation for follow-up analysis.

USERDEF1

CHAR (10)

The user library that the operation was tracked from.

USERDEF2

CHAR (10)

User Defined

DBTIME

BigINT

Time spent querying the Database (in milliseconds).

UIGENTIME

BigINT

Time spent generating the UI (in milliseconds).

RSTIME

BigINT

Time spent reading from the Result Set (in milliseconds).

MAXJVM

BigINT

Max JVM Memory

CURJVM

BigINT

Current JVM Memory

CONTHD

INT

Number of concurrent users or threads at the time the operation was run.