Web App Performance Installation Instructions

Prev Next

Prerequisites

  • Minimum Version: Requires SysTrack 11.4 or later.

Notes

  • After this DEX Pack is installed, it may take up to 24 hours for data to appear.

  • If you update or reinstall this DEX Pack, you must reassign any Views created below to the relevant role.

  • Web Apps need to be defined in Configure > Web Apps.

Installation Steps

To install this DEX Pack, complete the following steps:

  1. Import the Kit.

  2. Create the Web Browser View.

  3. Assign the Web Browser View to a Role.

Import the Kit

There are two ways to import the DEX Pack to SysTrack:

  • Import the pack directly from the Kits page in SysTrack. See the Import Online Kits guide for more information.

  • Import a local file downloaded from the DEX and Kit Downloads page. Click the Download Kit link for the pack and follow the Import Local Kits guide to finish the import.

Create the Web Browser View

The Web App Performance Dashboard requires you to create a View.

  1. Navigate to Configure > Views.

  2. Click the padlock icon in the upper-right to enable editing.

  3. Click the plus icon to add a new View.

  4. Fill in the Settings as follows:

    1. View Name: SF_WEBAPPDAILY

    2. Existing Category: Web

    3. Expires in: 30 Days

    4. When Expired: Append Data

    5. Do NOT check When overdue by 1 day (s).

    6. Set the Refresh drop-downs to Daily, Inside, 24x7, and Every Day.

    7. Copy the SF_WEBAPPDAILY SQL Query, and paste it into the box under SQL Selection > Generic.

    8. Click Test SQL. A Success message should appear at the top of the screen. If the test is not successful, the query may have been copied incorrectly.

  5. Click Create View at the top right.

SF_WEBAPPDAILY SQL Query

SELECT
	T0.WGUID,
	GETUTCDATE() AS VWTIME,
	S1.WEB_APP_NAME,
	DATEADD(D, DATEDIFF(D, 0, FIRST_USE), 0) AS DOTY,
	AVG(CASE WHEN NULLIF(LOADEND,0) > NULLIF(NAVSTART,0) THEN NULLIF(LOADEND,0) - NULLIF(NAVSTART,0) END) / 1000.0 AS AVG_CLICKTORENDER,
	AVG(CASE WHEN NULLIF(RESPONSEEND,0) > NULLIF(REQUESTSTART,0) THEN NULLIF(RESPONSEEND,0) - NULLIF(REQUESTSTART,0) END) / 1000.0 AS AVG_LATENCY,
	AVG(CASE WHEN NULLIF(LOADEND,0) > NULLIF(DOMLOADING,0) THEN NULLIF(LOADEND,0) - NULLIF(DOMLOADING,0) END) / 1000.0 AS AVG_PROCESSING,
	AVG(CASE WHEN NULLIF(FETCHSTART,0) > NULLIF(NAVSTART,0) THEN NULLIF(FETCHSTART,0) - NULLIF(NAVSTART,0) END) / 1000.0 AS AVG_CLIENTPRE,
	AVG(CASE WHEN NULLIF(REQUESTSTART,0) > NULLIF(FETCHSTART,0) THEN NULLIF(REQUESTSTART,0) - NULLIF(FETCHSTART,0) END) / 1000.0 AS AVG_NETWORKSEND,
	AVG(CASE WHEN NULLIF(RESPONSESTART,0) > NULLIF(REQUESTSTART,0) THEN NULLIF(RESPONSESTART,0) - NULLIF(REQUESTSTART,0) END) / 1000.0 AS AVG_SERVER,
	AVG(CASE WHEN NULLIF(RESPONSEEND,0) > NULLIF(RESPONSESTART,0) THEN NULLIF(RESPONSEEND,0) - NULLIF(RESPONSESTART,0) END) / 1000.0 AS AVG_NETWORKREC,
	AVG(CASE WHEN NULLIF(LOADEND,0) > NULLIF(RESPONSEEND,0) THEN NULLIF(LOADEND,0) - NULLIF(RESPONSEEND,0) END) / 1000.0 AS AVG_CLIENTPOST,
	MAX(CASE WHEN NULLIF(LOADEND,0) > NULLIF(NAVSTART,0) THEN NULLIF(LOADEND,0) - NULLIF(NAVSTART,0) END) / 1000.0 AS MAX_CLICKTORENDER,
	MAX(CASE WHEN NULLIF(RESPONSEEND,0) > NULLIF(REQUESTSTART,0) THEN NULLIF(RESPONSEEND,0) - NULLIF(REQUESTSTART,0) END) / 1000.0 AS MAX_LATENCY,
	MAX(CASE WHEN NULLIF(LOADEND,0) > NULLIF(DOMLOADING,0) THEN NULLIF(LOADEND,0) - NULLIF(DOMLOADING,0) END) / 1000.0 AS MAX_PROCESSING,
	MAX(CASE WHEN NULLIF(FETCHSTART,0) > NULLIF(NAVSTART,0) THEN NULLIF(FETCHSTART,0) - NULLIF(NAVSTART,0) END) / 1000.0 AS MAX_CLIENTPRE,
	MAX(CASE WHEN NULLIF(REQUESTSTART,0) > NULLIF(FETCHSTART,0) THEN NULLIF(REQUESTSTART,0) - NULLIF(FETCHSTART,0) END) / 1000.0 AS MAX_NETWORKSEND,
	MAX(CASE WHEN NULLIF(RESPONSESTART,0) > NULLIF(REQUESTSTART,0) THEN NULLIF(RESPONSESTART,0) - NULLIF(REQUESTSTART,0) END) / 1000.0 AS MAX_SERVER,
	MAX(CASE WHEN NULLIF(RESPONSEEND,0) > NULLIF(RESPONSESTART,0) THEN NULLIF(RESPONSEEND,0) - NULLIF(RESPONSESTART,0) END) / 1000.0 AS MAX_NETWORKREC,
	MAX(CASE WHEN NULLIF(LOADEND,0) > NULLIF(RESPONSEEND,0) THEN NULLIF(LOADEND,0) - NULLIF(RESPONSEEND,0) END) / 1000.0 AS MAX_CLIENTPOST,
	MIN(CASE WHEN NULLIF(LOADEND,0) > NULLIF(NAVSTART,0) THEN NULLIF(LOADEND,0) - NULLIF(NAVSTART,0) END) / 1000.0 AS MIN_CLICKTORENDER,
	MIN(CASE WHEN NULLIF(RESPONSEEND,0) > NULLIF(REQUESTSTART,0) THEN NULLIF(RESPONSEEND,0) - NULLIF(REQUESTSTART,0) END) / 1000.0 AS MIN_LATENCY,
	MIN(CASE WHEN NULLIF(LOADEND,0) > NULLIF(DOMLOADING,0) THEN NULLIF(LOADEND,0) - NULLIF(DOMLOADING,0) END) / 1000.0 AS MIN_PROCESSING,
	MIN(CASE WHEN NULLIF(FETCHSTART,0) > NULLIF(NAVSTART,0) THEN NULLIF(FETCHSTART,0) - NULLIF(NAVSTART,0) END) / 1000.0 AS MIN_CLIENTPRE,
	MIN(CASE WHEN NULLIF(REQUESTSTART,0) > NULLIF(FETCHSTART,0) THEN NULLIF(REQUESTSTART,0) - NULLIF(FETCHSTART,0) END) / 1000.0 AS MIN_NETWORKSEND,
	MIN(CASE WHEN NULLIF(RESPONSESTART,0) > NULLIF(REQUESTSTART,0) THEN NULLIF(RESPONSESTART,0) - NULLIF(REQUESTSTART,0) END) / 1000.0 AS MIN_SERVER,
	MIN(CASE WHEN NULLIF(RESPONSEEND,0) > NULLIF(RESPONSESTART,0) THEN NULLIF(RESPONSEEND,0) - NULLIF(RESPONSESTART,0) END) / 1000.0 AS MIN_NETWORKREC,
	MIN(CASE WHEN NULLIF(LOADEND,0) > NULLIF(RESPONSEEND,0) THEN NULLIF(LOADEND,0) - NULLIF(RESPONSEEND,0) END) / 1000.0 AS MIN_CLIENTPOST
FROM SAWEB AS T0
INNER JOIN SAWEBSTR AS S0 ON T0.FULLURL = S0.STRINGID
INNER JOIN SAWEBAPPS AS S1 ON S0.STRVALUE LIKE S1.WEB_URL + '%'
WHERE
	DATEDIFF(D, FIRST_USE, <LASTREFRESHTIME>) <= 0
	AND DATEDIFF(D, FIRST_USE, GETUTCDATE()) > 0
GROUP BY
	WGUID,
	WEB_APP_NAME,
	DATEADD(D, DATEDIFF(D, 0, FIRST_USE), 0)

Assign the Web Browser View to a Role

To assign the new View:

  1. Navigate to Configure > Roles.

  2. Use the drop-down at the top to select any previously created role.

  3. Click Views, the check the box next to SF_WEBAPPDAILY.

  4. Click Save Changes at the top right.

After this View is assigned, web app performance and usage data will be collected each day. It will take 30 days before the data in this Dashboard is fully populated.