Synthetic Transactions User Guide

Overview

This DEX Pack is used to monitor Synthetic Transaction results. Use these transactions to simulate user interactions under different conditions. This DEX Pack includes time and performance data organized by transaction, date, and system.

Creating and Running Scripts

This section explains how to link synthetic transactions to this DEX Pack.

Historical Transaction

Use this Dashboard to monitor time and performance data for synthetic transactions.

Creating and Running Scripts

Introduction

This DEX Pack requires the user to create and run scripts using a third-party automation framework. This section explains how to use this DEX Pack alongside the AutoIT framework.

Other similar frameworks can be used, but they may require additional configuration not covered by this User Guide.

The Synthetic Transaction architecture is set up as follows:

  1. The user creates or acquires an AutoIt script (.au3) specific to their enterprise’s needs.

  2. This AutoIt script must include a line that calls the SyTrack AutoIt function (LSITrace.au3). This function in turn calls a SysTrack helper file (LsiTraceLib.dll).

    • Each of these files must be contained within the same folder on the system performing synthetic transactions. These files are located in the setup.zip file for this DEX Pack.

  3. Synthetic transaction data is passed to LSITrace.au3 and written to the child database in the SASYNTRANS table.

    • Common examples of data include the name of the transaction, the expected completion time, and the actual recorded completion time.

  4. This data is organized and summarized by the RPT_VUSYNTRANS Factory View.

    • Data is grouped by transaction, system, and day. This data is written to the master database any time Views are processed (daily by default).

  5. This data populates the graphs and tables in this DEX Pack. This DEX Pack can then be used to monitor and analyze synthetic transactions.

Each AutoIt script requires a call to a LSITrace.au3 file within the same folder. Here’s an example call from a synthetic transaction that opens Outlook:

$traceId = LSIStartTraceTiming("Office", "Office 365", "Outlook", "Open Outlook", 5)

This call passes details about the transaction to LSITrace.au3, and it begins timing the transaction duration. This call includes the following elements:

  • Category: Office

  • Subcategory: Office 365

  • Instance: Outlook

  • Description: Open Outlook

  • Expected Duration (sec): 5

After the transaction is completed, the following call ends the transaction timer and writes the data to the database:

LSIEndTraceTiming($traceId)

You can use the following line to output testing info to the console (assuming you’re using the free AutoIt IDE):

ConsoleWrite("text " & @ScriptLineNumber & @CRLF)

Additional Info and Examples

This section contains examples to test this DEX Pack within your enterprise. When creating your own AutoIt scripts, refer back to these examples for guidance.

To test these examples, the AutoIt framework must be installed. Then, open the setup.zip file for this DEX Pack. Extract the following files together to one folder:

  • SysTrack AutoIt Function: LSITrace.au3

  • SysTrack Helper File: LsiTraceLib.dll

  • Example Scripts: LSITraceExample.au3, ExcelExample.au3

  • App-Specific Helper Files: OutlookEX.au3, OutlookExConstants.au3

LSITrace.au3 and LsiTraceLib.dll are always required to send synthetic transaction data to this DEX Pack. Your enterprise will need to create or acquire additional scripts and app-specific helper files for your enterprise’s specific needs. Any folder containing a .au3 script must also contain LSITrace.au3, LsiTraceLib.dll, and any app-specific helper files.

Note that LSITrace.au3 and LsiTraceLib.dll generally only work with AutoIt – if you use a different automation framework, you may need to create or acquire equivalent files for that framework.

Once a .au3 script has been placed in a folder with all needed files, double-click the script file to run the synthetic transaction. Scripts can be scheduled to run automatically using Task Scheduler or similar tools.

The data from a synthetic transaction should usually appear in this DEX Pack within 1 day. The exact delay depends on how often the RPT_VUSYNTRANS View refreshes. To check this, navigate to Configure > Views > RPT_VUSYNTRANS > Settings > Refresh.

Example 1: Open Outlook and Send an Email

This example uses the LSITraceExample.au3 script and a couple Outlook-specific helper files (OutlookEX.au3, OutlookExConstants.au3). If a user is signed into Outlook on this system, this script times how long it takes to send and receive an email to the same address.

Note the following elements from this script:

Global $oOutlook = _OL_Open()

Global $oEvent = ObjEvent($oOutlook, "oOApp_")

These variables rely on the Outlook-specific helper files. The $oOutlook variable creates

the Outlook object, sends the email, and reads received emails.

$traceId = LSIStartTraceTiming("Office", "Outlook", "mail send time", "Sending mail to self using outlook _OL_Wrapper_SendMail", 5)

This line starts the timer and passes some details about the transaction.

Local $oOL_Item = $oOutlook.Session.GetItemFromID($sOL_EntryId,

Default)

If (StringCompare($sMailSubject, $oOL_Item.Subject,

$STR_CASESENSE) = 0) Then

LSIEndTraceTiming($traceId)

_OL_Close($oOutlook)

Exit

EndIf

These lines determine when the sent email is received and stop the timer accordingly.

Run this script by double-clicking LSITraceExample.au3. By default, the data from this synthetic transaction should appear in this DEX Pack within 1 day.

Example 2: Open Excel and Write Rows to a Worksheet

This example uses the ExcelExample.au3 script. This script times how long it takes to open

Excel, write 10,000 rows of text in the first column, and close Excel.

Note the following elements from this script:

Local $oExcel = _Excel_Open()

Creates the Excel object.

Local $oWorkbook = _Excel_BookNew($oExcel)

Adds a workbook to the object.

For $i = 0 to 9999 $aArray1D[$i] = "Test text"

Next

Initializes a 10,000-row array with text.

_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aArray1D)

Writes the array to the active sheet in the workbook.

LSIEndTraceTiming($traceId) _Excel_Close($oExcel)

Stops the timer and closes Excel.

Run this script by double-clicking ExcelExample.au3. By default, the data from this synthetic transaction should appear in this DEX Pack within 1 day.

Historical Transaction

Selected Transaction

All the panes in this Dashboard will show data for the selected transaction.

Transaction Trend (All Systems)

This graph shows transaction times from the past 30 days. The Average Time and Max Time are calculated from every system that ran the selected transaction on that day. The Target Time is defined by the transaction script.

Health Trend (All Systems)

This graph shows the health impact of system issues on all systems running the selected transaction. These health impacts are tracked as a percentage each day over the past 30 days. If a system issue has a higher percentage of health impact, then that issue impacted systems more frequently on that day.

Transaction Details (All Systems)

This table shows additional daily details about the selected transaction. This data is calculated from all systems running this transaction.

Average Percent of Target is calculated by dividing the Average Time by the Target Time and converting the result to a percentage.

If the Issue Source column outputs System Impact Problems, then systems running transactions are being significantly impacted by system issues.

Select a day in this table to populate the data in Transaction Details (Selected Day).

Transaction Details (Selected Day)

This graph shows transaction metrics for the day chosen in Transaction Details (All Systems).

This data is shown for each system that performed the selected transaction on the selected day. Double-click a system to more closely investigate that system in Resolve.

Transaction Details (Selected System)

This table shows daily transaction metrics for each system within the last 30 days. The system selected here will determine the data shown in Health Trend (Selected System) and Transaction Trend (Selected System).

Transaction Trend (Selected System)

This graph shows transactions times for the system selected in Transaction Details (Selected System). This graph shows data from the past 30 days. The Average Time is summed from every time the selected transaction was run that day. The Target Time is defined by the transaction script.

Health Trend (Selected System)

This graph shows the health impact of system issues on the system selected in Transaction Details (Selected System). These health impacts are tracked as a percentage each day over the past 30 days. If a system issue has a higher percentage of health impact, then that issue impacted this system more frequently on that day.