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
Name | Description | Data Type |
---|---|---|
timestamp | The time the flow was recorded in Unix epoch format or date/time format. | DateTime64(3) |
Uetr | Unique End-to-End Transaction Reference. | String |
TotalTime | Total time taken for the journey in milliseconds. | UInt32 |
TotalTimeWithoutDelays | Total time excluding delays in milliseconds. | UInt32 |
ModuleTimes | JSON string containing module-wise times. | String |
ModuleTimesWithoutDelays | JSON string with times excluding delays. | String |
JourneyStatus | Overall status of the journey (e.g., Success, Failed). | String |
ErrorMessages | List of error messages (if any). | String |
FirstErrorStep | Step number where the first error occurred. | Int |
JourneyName | Name of the journey (e.g., Account Transfer). | UInt64 |
bgp_src_as | The source Autonomous System (AS) number in a BGP setup. | String |
EventList | JSON representation of all events in the journey. | String |
GlobalID | Global identifier for the journey. | String |
JourneyStatusInt | Integer representation of journey status. | Int |
VScreenshotName | Name of the screenshot file (if applicable). | String |
RedisInsertTime | Timestamp of data insertion as integer. | DateTime64(3) |