Skip to main content
Version: NG-2.16

Synthetic Browser Journey Monitoring

Introduction

Synthetic Browser Journey Monitoring in vuSmartMaps allows simulation of real user interactions on web applications. This helps proactively monitor performance, detect failures, and gain insights into the user experience.

Getting Started

Compatibility

vuSmartMaps supports Synthetic Browser Journey Monitoring, which enables active monitoring of website performance and availability. It simulates real user interactions by executing pre-recorded browser journeys and capturing key performance metrics, errors, and page load times.

Data Collection Method

vuSmartMaps collects browser journey execution metrics using a headless browser automation framework. The journey execution is instrumented to capture action-level telemetry, which is sent to a Kafka broker for further processing.

Prerequisites

Inputs for Configuring Data Source To configure this data source, the following parameters are required: Firewall Requirement To collect data from this O11ySource, ensure the following ports are open:

Ports should be updated based on the customer’s environment.

Configuration Steps

Enable the O11ySource. Select the Sources tab and press the + button to add a new host to be monitored. Then click save and continue. Choose Synthetic Browser Journey recorder package in Download Agents & Configurations. Then click submit. Synthetic Browser Journey recorder package

  • Downloads the full Recorder package with required configurations (vuSyntheticBrJourney-Recorder.zip).

Then click Finish to close the data source window.

Configuring the Target

The target website must be accessible from the vuSmartMaps probe. Ensure that the synthetic journey script is properly validated and uploaded before execution.

Steps to Run the Synthetic Browser Journey Recorder

  • Download the Recorder Binary: Download the recorder package (vuSyntheticBrJourney-Recorder.zip) from the provided source.
  • Extract the Package: Unzip the downloaded vuSyntheticBrJourney-Recorder.zip file.
  • Navigate to the Recorder Directory: Open the extracted folder: vuSyntheticBrJourney-Recorder.
  • Open Command Prompt: Open a command prompt (cmd) and navigate to the extracted directory cd vuSyntheticBrJourney-Recorder
  • Run the Recorder Batch File: Execute the following command to start the recorder:
    vuSyntheticBrJourney-Recorder.bat -n "<JourneyName>" -u "<PageURLtoLoad>"
  • Replace: <JourneyName> with the name of the journey. <PageURLtoLoad> with the website URL to be monitored.
  • Start Recording: The recorder will launch a browser with the specified URL. Users can interact with the webpage and perform their journey.
  • Complete the Journey: Once the journey is recorded, users can close the browser.
  • Save the Recorded Journey: The recorded journey file will be saved automatically in the scripts folder. The filename will match the Journey Name provided during execution. *Send the Journey File: The user must manually send the recorded journey file to the CSG team for further processing.

Metrics Collected

NameDescriptionData Type
timestampThe time the flow was recorded in Unix epoch format or date/time format.DateTime64(3)
UetrUnique End-to-End Transaction Reference.String
TotalTimeTotal time taken for the journey in milliseconds.UInt32
TotalTimeWithoutDelaysTotal time excluding delays in milliseconds.UInt32
ModuleTimesJSON string containing module-wise times.String
ModuleTimesWithoutDelaysJSON string with times excluding delays.String
JourneyStatusOverall status of the journey (e.g., Success, Failed).String
ErrorMessagesList of error messages (if any).String
FirstErrorStepStep number where the first error occurred.Int
JourneyNameName of the journey (e.g., Account Transfer).UInt64
bgp_src_asThe source Autonomous System (AS) number in a BGP setup.String
EventListJSON representation of all events in the journey.String
GlobalIDGlobal identifier for the journey.String
JourneyStatusIntInteger representation of journey status.Int
VScreenshotNameName of the screenshot file (if applicable).String
RedisInsertTimeTimestamp of data insertion as integer.DateTime64(3)