Other Settings
Apart from global and group based settings, there are further other settings in Scenario that are listed below:
- Server Mapping
- Real Browser User
- Mark and Measure
- SMTP Settings
- User Profile
- Java Settings
- Health Check Settings
- APM Integration
- GIT Settings
- Internet Protocol Address Management
- Launch SSL Console
- Multi Node Configuration
Server Mapping
NetStorm maps the recorded host (name of the host where the script was recorded) to the actual host (which is being tested). This maps one recorded host to one or more actual servers and their locations.
The mapping is kept in a table in shared memory. NetStorm picks a random entry that maps a given recorded host to an actual server when it makes a new connection and connects to this server. The recorded server > actual server mapping is fixed for a session.
When the URL is a redirection type, the request may be re-directed to another (recorded) host whose mapping is not present in the shared table. Since the script does not contain this new recorded host upfront, it cannot be added in the shared table and it would result in an error during parsing of the script.
By default, Recorded hosts are used at the time of test run (session replay). But, a different hostname (for sending requests to) may be specified for the test runs. This may be important for the situations when the session recording is done with one server but may have to run the same session against different servers.
For example, in a typical situation, there may be one server setup for development, one for QA, one or more for performance and one for staging environment etc. In this situation, tests may be recorded once but may be replayed against any server setup, by mapping the recorded server(s) to actual hosts(s).
Need for Mapping
- Server mapping is needed to map one recorded host to another one or more actual hosts.
- Recorded-host is the host name as recorded at the time of session recording.
- Recorded and Actual hosts names are specified in the format hostname: port.
For example, 10.10.30.7:81
- A special character, dash (-) can be used as a placeholder to specify the server location as default server location. For example: rediff.com –
Click the Server Mapping link on the Scenario Settings section, the Server Mapping window is displayed.
Figure: Server Mapping Window
Server Mapping window contains following options:
- Mapping Mode
- Single Server Mapping
- Multiple Server Mapping
- Static Mapping
- Default Server Location
Mapping Mode
Server name (or IP Address) to which requests are sent during session capture is recorded as part of recording. There may be one or more recorded servers, if the requests have been sent to multiple servers by way of directly entering the server name as part of URL, or clicking a link or indirectly accessing the in-lined images, during session capture.
Mapping modes are of two types:
Single Server Mapping
In Single Server Mapping, One recorded server maps to one actual server. This encompasses one to one and many to one mapping from recorded host to actual host. When user selects this option, actual-host-location may be omitted. In this case, DEFAULT SERVER LOCATION is assumed to be the server location.
Assume that the server against which user plans to run the tests is 10.10.30.7 and further assume that in real deployment, the server is located in San Francisco. To define this server mapping, select 10.10.30.7 from the Recorded server list, specify 10.10.30.8 in Actual Server and select San Francisco from the location list.
Figure: Single Server Mapping
Now, if the NetStorm runs, it accesses the URLs from 10.10.30.8 and not from 10.10.30.7. NetStorm simulates the Internet appropriately with the Server being located in San Francisco and the user community as defined by the user profile.
Multiple Server Mapping
In Multiple Server Mapping, One or more recorded server maps to multiple actual servers. When a recorded host is mapped to multiple actual hosts, requests are sent to actual hosts in round-robin fashion.
Figure: Multiple Server Mapping
Now, if the NetStorm is run, it accesses the URLs from 10.10.30.8 and 10.10.30.9 and not from 10.10.30.7. NetStorm simulates Internet appropriately with Servers being located in San Francisco and New York and the user community as defined by user profile.
Static Mapping
This mapping is used where an IP can be assigned corresponding to a host. The user can add / delete / update a host and can assign an IP corresponding to it.
Figure: Static Mapping Section
To add a host
- Click the Add button.
- Select the Hostname from the drop-down, provide IP, and click OK.
Figure: Add Static Mapping
Note: On selecting ‘Others’ in the Hostname, the user can type the Host name in the text box.
Advanced Settings
Default Server Location
User can set the default server location from the Default Server Location drop-down list.
Use same Actual Server in single session (Server Select Mode settings): This option is used to decide whether the same host is needed for both HTTP and HTTPS request for a particular session.
The recorded hosts getting mapped to same number of actual hosts are mapped to actual host having same index with respect to their recorded host. It is applicable in case of multiple server mapping.
Figure: Advanced Settings
Add Recorded Host
A user can add Recorded Host from Scenario UI in Server Mapping within Advanced Setting to generate load on the specified IP. The user can enter a Recorded Host name in a text box and select Scheme type from drop-down list. Then, those entries are reflected in a table.
- Click the Add button.
Figure: Add Recorded Host
2. Provide the recorded host name and select scheme type from the list.
3. Click OK.
4. The record is reflected in the table.
Figure: Recorded Host Added
Functions on the Server Mapping window
Add: This button is used to add the Recorded server address, actual Server address and location. If one recorded server maps to one actual server is selected then recorded server address, actual Server address must be different.
Steps to add Recorded server, Actual server and Location:
- Click the Add button.
Figure: Add Single Server Mapping
- Provide the Recorded Server, Actual Server and Location.
Delete: This button is used to delete the selected recorded server address, actual Server address and location.
Steps to Delete Recorded server, Actual server and Location:
- Select the Recorded server, Actual server and Location.
Figure: Server Mapping Delete Button
- Click the Delete button.
Update: This button is used to update the selected recorded server address, actual server address and location.
Steps to Update Recorded server, Actual server and Location:
- Select the Recorded server, Actual server and Location which user wants to update.
Figure:Update Server Mapping
2. Selected record gets inserted in the input line text box.
3. Selected record is displayed in a new window.
4. Update the record.
Real Browser User
The Real Browser User support is a way of simulating the Internet access and browsers executing the transaction via “real” browser (Real Browser Users or RBU). RBUs are heavily loaded as compared to the load generated by typical Virtual Users as an RBU uses real browser to download web page components. Traditional monitoring only simulates HTTP protocol. Whereas, RBU uses multiple connections, renders a page, creates a DOM, and executes JavaScript which is not done by a simple HTTP web check.
Features
- Automate Manual Testing: RBU can perform functional and performance testing of web-based applications (desktop and mobile versions) and associated services.
- Client-Side Testing: Quantifies the superiority of user experience by viewing a stream of real browser / application render duration and page snapshots while your tests run. It enables you to begin testing within minutes which quickens the subsequent process of analysis. Hence, the operational expenses get minimized.
- Server-Side Analysis: RBU can be integrated with Cavisson Application Performance Monitoring solution (NetDiagnostics) so that you can analyze the anomalies in the transactions that are executed in Performance Testing solution (NetStorm).
- Lighthouse Integration: RBU is integrated with Lighthouse to extend analysis and automate reporting capabilities, such as HTML report, Lighthouse Average report, and Lighthouse Detail report for improving the quality and performance of web pages. It enables audits for performance, accessibility, progressive web apps, recommendations, and more.
- Instrumentation Capability: The performance testing and analysis of asynchronous call is difficult. RBU makes it easier by providing more insights of CPU, FPS, User Timings, Bottom-Up Call Tree, and others. For example, CPU utilization for each script, function, and its child calls.
Browsers Supported
Real Browser User feature is supported in Google Chrome and Mozilla Firefox browsers.
Note: The latest Chrome version (ver. 78) is supported.
Metrics Captured
- Response time
- Rendering time
- Page status code
- Network time
- Page availability
- Off-load time
- Page score
Visual and Waterfall Comparison
RBU facilitates you to compare the visual progress stats and waterfall components of two web pages.
RBU Process
For enabling and configuring RBU settings, perform the following steps:
- Record RBU scripts.
- Configure RBU settings, such as Lighthouse, video settings, and advance settings in scenarios.
- Perform Test runs.
- View reports, such as lighthouse report, sessions report, and video output.
Record RBU Scripts
XPath Settings
The RBU Script Recording process is based on user click and action and during recording what the user will select will capture the Xpath of that action/click. If the Xpath of that particular changes dynamically then the user needs to modify the script with unique Xpath this is to overcome of transaction failure during Running Test.
Refer to the following links for modifying the Xpath:
- https://www.softwaretestinghelp.com/css-selector-selenium-locator-selenium-tutorial-6/
- https://www.lambdatest.com/blog/chrome-extensions-to-find-xpath-in-selenium/
- https://www.guru99.com/xpath-selenium.html#:~:text=XPath%20in%20Selenium%20is%20an,webpage%20using%20HTML%20DOM%20structure.
Configure RBU Settings in Scenario
Perform the following steps to start RBU in NetStorm:
- Access NetStorm by providing your user credentials.
- Create/open a scenario in NetStorm.
3. Click the Real Browser Settings section on the left panel. The following RBU options are displayed:
4. Select the Run virtual user as real browser user check box to run the virtual user as real browser user.
5. Select a group. By default, the RBU Settings are saved in the Default group. You can also select a new group for saving the RBU settings. Select the required group from the Add Group drop-down list. A new tab appears with the selected group name, as shown in the following figure:
Configuring RBU Settings
You can configure the following RBU settings in NetStorm:
- Lighthouse settings
- Video settings
- Content Delivery Network (CDN) settings
- User Agent settings
- JS Profiler settings
- Advanced settings
Configuring Lighthouse Settings
Lighthouse is an open-source, automated tool for improving the quality of web pages. You can run the lighthouse feature against any web page, public or requiring authentication. It includes audits for performance, accessibility, progressive web apps, and more.
To enable lighthouse reporting, select the Enable Lighthouse Reporting option to generate an HTML report along with Lighthouse Average and Detail reports.
Note: NetStorm RBU supports Lighthouse version 5.6.0 that enables you to validate RBU Lighthouse report with the report created with its extension on chrome.
Expand the Lighthouse Settings section to specify the lighthouse configuration:
You can enable/disable network throttle in the Lighthouse Settings section. Network throttle is enabled only if you enable Lighthouse. It also enables download throughput, upload throughput, and network latency. These fields only accept value greater than 0. If user tries to provide value less than and equal to 0, an error message is displayed.
Configuring Video Clip Settings
Expand the Video Clip Settings section in the Real Browser User Settings window:
- Video clips of resolution: Enabling this option allows you to specify the resolution and time duration of a video clip.
- Capture only when: Enabling this option allows you to specify the DOM Threshold and Onload Threshold value for capturing data.
- Capture rendering metrics without saving video by taking clips: In this field, user can specify the resolution of clips on which rendering metrics are captured without saving video.
- None: Disables all the Video clip settings options
Configuring Content Delivery Network (CDN) Offload Settings
Expand the Content Delivery Network (CDN) Offload Settings section
Figure: CDN Offload Settings
Note that the CDN offload is always enabled for main URL domain. To enable CDN offload for additional domain, select the check box and enter these domains. For multiple domains, use semicolon.
Configuring User Agent Settings
Expand the User Agent Settings section:
Figure: User Agent Settings
Select the option for user agent string. There are following options:
- Use browser’s default user agent
- As per user profile
- Use custom string – In this case, specify the custom string
Performance Tools Settings
Figure: Performance Tool Settings
You have the following fields for performance tools settings:
- Enable Performance Tool (Supported only for Chrome Browser): To fill all the respective fields, select this check box.
- Timeout for saving Performance Tool data: Select the duration to save performance data.
- Capture Screenshot: It will capture page screenshots to observe how page will progress visually.
- Capture Trace till Network become Idle (Default is 5 sec)
Advance Settings
Figure: Advance Settings
There are following settings under this:
- Override browser profile settings from the provided profile (with absolute path)
- Save HTTP response body. This is needed for page dump without taking snapshot. Also, it can be viewed from waterfall screen.
- Capture page snapshot. If this is enabled, page dump will show the snapshot instead of HTTP response.
- Generate alert due to script run time errors.
- Enable browser screen size simulation as per user profile.
- Capture Time to Interact (TTI) metrics. TTI is captured using specification provided in primary content profile specified in ns_browser_url API in the script.
- Specify additional origin domains. Multiple domains are separated by comma.
- Select the browser version of chrome and Firefox from the drop-down list.
Script Parsing and Data Uniform Resource Identifier (URI)
1. Enable Run virtual users as real browser user.
2. For Script Parsing Time and Data URI, go to the Advance Settings in Real Browser User Settings.
Figure: Advance Settings
3. Enable Capture JS processing time in Waterfall and Capture BLOB request in Waterfall.
Figure: Enable JS Processing Time
4. Save the scenario by clicking the Save button on the upper left corner of the window.
5. Run the Test by clicking the Play button on the top of the screen.
6. Upon clicking the Play button, the Start Scenario screen opens, enter the Test Name and click Start Scenario to start the scenario, or Cancel to cancel the process.
Figure: Start Scenario
7. After the test is complete, validate Script Parsing and Data URI.
The following steps are to be performed:
- Go to NetStorm home page, click Total Test(s) under Test Assets Summary.
- Search your Test Run (TR) number and click the Apply button.
- Now, under Test Run field, click on the searched TR number. This opens the Test Dashboard.
8. Go to Reports > Ready > Ready Application > Page Detail Report.
9. Under Page Name column, click any page, for example, Home.
Figure: Page Detail Reports
10. Click the required Page Name to open the Page Detail Reports. Here, the user clicks the particular Page Name once again to open the waterfall.
Figure: Page Name in Detail Report
The waterfall is displayed in the image below.
Figure: Page Detail Waterfall
11. To view the Script Parsing of URL is displayed by hovering cursor over the color bar.
Figure: Script parsing
12. For Data URI, scroll down to the Page Detail Report to GET DATA URI.
Figure: Get Data URI
![]() |
This feature runs only on Chrome. |
Capturing the Size of Cookies
You can capture the size of cookies in a HAR file for every Request and Response data, which is reflected in the Waterfall window. The size of the cookies might impact the performance of a Web page as whenever a request is sent to a server for some element, such as an HTML file, a CSS file, or an image, the browser sends the cookie in the request to the server, which means that the cookie size grows with each request and this hampers performance.
Capturing the size of cookies helps in estimating the size of cookies for each request and response. This not only keeps check on cookies limit, but also helps in boosting page performance.
Figure: Cookie Size
Move Downloaded File in RBU
To move downloaded file in RBU, follow the below mentioned steps:
1. Enable Move Download File Inside Test Run Directory.
Figure: Move Downloaded File
2. Save the Scenario.
3. Run the Test by clicking the Play button on the top of the screen.
4. Upon clicking the Play button, the Start Scenario screen opens, enter the Test Name and click Start Scenario to start the scenario, or Cancel to cancel the process.
5. After the test is completed, validate Move Download from:
- Go to NetStorm home page, click Total Test(s) under Test Assets Summary.
- Search your Test Run (TR) number and click the Apply button.
- Now, under Test Run field, click on the searched Test Run (TR) number.
- This opens the Test Dashboard (as shown in the image below).
6. Click Configuration >Actions > Download/Upload File.
7. To browse a downloaded file, provide a path such as: /home/cavisson/work_2/logs/TR Number/20181211122957 (Partition Number)/rbu_logs/downloads/NSAppliance-work_2-cavisson-TR8400-1-1/ (file to be downloaded)
Figure: Downloaded File
8. Click Download to download the file on browser.
![]() |
This feature runs on both – Chrome and Firefox. |
Mark and Measure
This feature enables a user to decide which parts of scripts are to optimize, and instrument those parts of scripts with the User Timing API. From there, the user can access the results from JavaScript using the API, or view them on Chrome DevTools Timeline Recordings.
Figure: Mark and Measure Option
On applying a scenario with timestamp, the user can get graphs of specific timestamp (that is applied) within the dashboard. Mark specifies the start duration graph only, and by using measure, it signifies the start time and the duration graph both. This is very much effective in having specific graphs with provided timestamps.
Mark and Measure
The Mark and Measure feature enables you to improve the performance of your scripts by measuring the time taken by the scripts. Using this feature, you can apply timestamps in a scenario to decide which parts of the script can be optimized. Based on the applied timestamps, you can generate graphs of specific timestamp. Mark specifies the start duration graph only, and Measure signifies the start time and the duration graph both. The following statistics are displayed by using the Mark and Measure feature:
Figure: Mark and Measure
The Mark and Measure feature is available only for an RBU-enabled test and all the data is captured in an HAR file. To measure the performance characteristics of a Web-application, NVSM/RBU capture the mark and measure timestamps that are stored in the HAR file.
- Mark: Mark is a timestamp that is created in the browser’s performance entry buffer with the given name.
- Measure: Measure is a named timestamp between two marks, the start mark and end mark, respectively.
- Timestamp: Here, timestamp refers to the time elapsed since the page has started loading or the start mark in case of measure.
Enabling the Mark and Measure Feature
To enable the mark and measure feature in NetStorm:
- Open/create an RBU-enabled test scenario.
- Click Real Browser User Settings in the Scenario window.
- Expand Advanced Settings in the Real Browser User Settings.
- Select the Run virtual user as real browser user checkbox.
- Select the Mark and Measure checkbox, as shown highlighted in the following figure:
Figure: Enabling Mark and Measure
6. Save your settings.
Viewing the Mark & Measure Statistics
After configuring the RBU settings, you can run your test scenario and analyze the results by generating the Average Mark and Measure Stats from Page Average Report.
Viewing Page-wise Mark and Measure Statistics
To access the Mark and Measure statistics for a page, you need to open the Page Average Additional Reports. To open this report:
- From Dashboard, Select Reports> Metrics>Page Average Reports.
Figure: Page Average Report Selection
2. The Page Average Reports page is displayed in a new browser:
Figure: Page Average Report Page
3. Click the required page name link to display the Page Average Additional Reports page.
Figure: Page Detail Reports
The Page Average Additional Reports window provides average information for a particular page displaying the:
- Mark Statistics table
- Measure the Statistics table
Mark Statistics
In the Mark Statistics section of the Page wise Mark Statistics, you can analyze the information about the average, min, max, 90% tile and 95% tile of the Mark Start Time for a particular page.
Figure: Mark Statistics
The details of Mark Statistics table are described below:
Field | Description |
Start Time
|
Start time is a timestamp since the page has started loading to mark a certain event in a page.
This start time is the average of all the start time for a particular Mark present in all the session of selected page. |
Duration
|
Duration is the timestamp between two marks i.e. start mark and end mark, it can also be referred to as the timestamp of Measure. In case of Mark it will always be 0.
|
Min | This column shows the minimum Start Time among the Marks present in the multiple session of a page. |
Max | This column shows the maximum Start Time among the Marks present in the multiple session of a page. |
90% tile:
|
This column shows the 90th percentile of Mark’s Start Time present in multiple session of a page. |
95% tile:
|
This column shows the 95th percentile of Mark’s Start Time present in multiple session of a page. |
Count | This shows the count of Marks in all the session of a page |
Measure Statistics
The page-wise Measure Statistics table provides information about the average, min, max, 90% tile and 95% tile of Measure Duration in a particular page.
Following is the screenshot:
Figure: Measure Statistics
In the Measure data, columns of the Measure table play same role as discussed in the “Page-wise Mark Statistics table” except here min, max, 90% tile ,95% tile and count are calculated for Duration instead of Start Time and here we show statistics of Measure instead of Mark.
Note: The duration, start time, min, and max values are allowed in milliseconds. Time will be shown as a whole number value rather than decimal as data in DB is present in whole value.
Viewing Session-wise Mark and Measure Statistics
To access mark and measure for a specific session:
- Select Reports > Ready> Ready Application > Page Details Report.
- Click the
icon in the Action column to open the “Page Average Additional Information” window for Marks and measure stats for that session.
Figure: Page Average Additional Info
The following Page Average Additional Info screen is displayed:
Figure: Page Average Additional with Mark Statistics
Note: If you access the Mark and Measure statistics from the “Page Detail Reports”, you will not be able view the average, min, max of Page Load, On Load, and Dom Content load time. Only data related to that session will be shown in Page Additional Info table.
In the Page Average Additional Info screen, data for Mark and Measure will be shown similar to the page-wise Mark and Measure Statistics UI. However, for session-wise display, the average, min, max, 90%tile and 95% percentile will not be calculated. If two same marks are present, they will be shown separately and the count column will always be one. For example, if there are two marks of the same name (ABC) with value as 1200 (ms) and 1300 (ms) then table data will be displayed as follows:
Name Start Time Duration Avg Min Max 90% 95%
ABC 1200 0 1200 1200 1200 1200 1200
ABC 1300 0 1300 1300 1300 1300 1300
If there is only one mark named ABC with 1100(ms) then table data would be like:
Name Start Time Duration Avg Min Max 90% 95%
ABC 1100 0 1100 1100 1100 1100 1100
The above concept will also be applied for Measure in Session wise Mark and Measure Statistics UI.
Phase Interval
The Page Load Time is measured as the time from the start of the initial navigation until there were 4 seconds of no network activity after Document Complete. This usually includes any activity that is triggered by JavaScript after the main page loads (onload event). If any request is initiated after 4 seconds, it is considered to be in another phase and its timing will not be included in page load time.
Figure: Phase Interval
The user can provide phase interval through an attribute “PhaseInterval” for a particular page.
Syntax: “PhaseInterval=<time in ms>”
Example:
ns_link(“login”, “url=http://10.10.70.8:9019/cgi-bin/reservation”, “type=IMAGE_LINK”, “action=click”, attributes=[“border=0″,”src=/tours/Merc10-dev/images/flights.gif”,”width=95″,”alt=Search Flights Button”,”height=25″], “xpath=HTML/BODY[1]/TABLE[1]/TBODY[1]/TR[2]/TD[1]/TABLE[1]/TBODY[1]/TR[1]/TD[1]/CENTER[1]/TABLE[1]/TBODY[1]/TR[1]/TD[1]/A[1]/IMG[1]”, “tagName=IMG”, “PhaseInterval=4000”, “Snapshots=webpage_1502361890909.png”);
It has been observed that page was loaded in 30-40 secs only, as network became stable after it. After a gap of 4 minutes, 3 more XHR requests came into network, which is not considered in Page Load Time ideally. These requests are considered to be in different phase as the gap is more than four seconds.
Start Test Run
After configuring RBU settings, you can run your test and view results. To start a test run:
- Save the scenario by clicking the Save button on the upper left corner of the window.
2. Run the Test by clicking the Play button. The Start Scenario window is displayed.
3. Enter the Test Name and click Start Scenario to start the scenario, or Cancel to cancel the process.
4. After the test is complete, you can validate your data and view reports.
View Reports
After configuring the RBU settings, you can save the configuration and analyze the results by generating various reports. This section provides information about the various types of reports that can be created in NetStorm.
Page Detail Report
Using the Page Detail Reports feature, you can analyze the details of a user session, such as the average page detail, session details, user requests, waterfall report, and page score.
The Page Detail Reports feature enables you to generate the following types of reports:
- Average Page detail report
- Session details
- Request Detail Report
- Content Stats
- Waterfall Report
- Page Score
- Clips
- Visual Progress
- Video
- Comparison
- Waterfall
- Average Reports
Accessing the Page Details Report
- Log into Cavisson using your credentials.
- Open the dashboard of the RBU test run.
- Select Reports> Metrics>Page Average Reports
Figure: Page Average report
- The Page Average Reports page is displayed in a new browser.
- Open the required page name link to display the Page Detail Reports page.
Page Average Report
The Page Average Report window provides information about the page being displayed including host name, browser, screen size, and browser cache, as shown in the following figure:
The following table provides information about the data displayed on this window:
Column | Description |
Action | Clicking the ![]() |
Page name | Displays the page name that is being analyzed. |
Host name | Specifies the host name. |
Group | Specifies the group number. |
Screen Size | Provides the screen size, such as 1920*1080. |
Browser | Specifies the type of browser used for accessing the page, such as Chrome or IE. |
Start Date Time | Specifies the page hit time or page started date time. |
End Date Time | Specifies the page display time. |
DOM Content Load |
|
On Load (Sec) | Specifies the network time: based on how speedy the internet connection is and how swiftly static assets like photos and other files are served up
|
Page Load (Sec) | Specifies how much time it takes for the browser to parse and execute the document and render the page to make it available for user interaction |
Time to Interact | Time to interact is the point when a user can interact with a web page element once the page has rendered. After a shopper clicks on the add-to-cart button, for example, TTI measures the time it takes for the interactive element on the next page to become usable, such as the checkout button. |
Start Render Time (Sec) | The Start Render time is measured as the time from the start of the initial navigation until the first non-white content is painted to the browser display. |
Visually Complete Time (Sec) | Specifies the time from the start of the first request to when the page is completely rendered. A point-in-time metric measures when the visual area of a page has finished loading.
In RBU, this is calculated by capturing a clip of the page loading in the browser and comparing size of each clip. |
Requests | Specifies the total number of request excluding the browser cache-type request. |
Browser Cache | Specifies the total number of browser cache requests. |
Bytes received (KB) | Download Bytes of all resources. |
Bytes Send (KB) | Sent Bytes for all resources. |
Page Status | Specifies the page status, such as success or failure. |
Viewing Page Average Additional Information
To gather more information about a page, click the icon in the Action column of the Page Average Report window. For example, this page specifies the minimum, maximum, and average time for OnLoad, Dom content, page load, and visually complete time. The Page Average Additional Info window is displayed in the following figure:
Page Detail Reports Overview
After accessing the Page Average Reports window, you can view more information about the pages on the Page Details Reports window. This window provides details of the user HTTP session, such as DOM start time, on load time, bytes sent and bytes received.
To access the Page Detail Reports:
- Click the required page name in the Page Average Report window, as highlighted below:
2. The Page Details Report is displayed, as shown below:
The Page Detail Reports window provides information described in the following table:
Field | Description |
Action | Provides session details and videos of the recorded user session. |
Page Name | Displays the page name that is being analyzed. |
Host name | Specifies the host name. |
Device Info | Provides information about the device, such as desktop, type of browser. |
Screen Size | Provides the screen size, such as 1920*1080. |
Browser | Displays the browser name in which the test is executed, such as Chromium-browser/Firefox. |
Start Date Time | Specifies the page hit time or page started date time |
End Date Time | Specifies the page hit time or page started date time |
DOM Content Load | · Dom Complete is the time immediately before the user agent sets the current document readiness to ‘complete’.
· Specifies that the page and all of its sub resources are ready. · All of the processing is complete and all of the resources on the page (images, etc.) have finished downloading |
On Load (Sec) | Specifies the network time: based on how speedy the internet connection is and how swiftly static assets like photos and other files are served up
|
Page Load (Sec) | Specifies how much time it takes for the browser to parse and execute the document and render 11the page to make it available for user interaction |
Time to Interact | Time to interact is the point when a user can interact with a web page element once the page has rendered. After a shopper clicks on the add-to-cart button, for example, TTI measures the time it takes for the interactive element on the next page to become usable, such as the checkout button. |
Start Render Time (Sec) | The Start Render time is measured as the time from the start of the initial navigation until the first non-white content is painted to the browser display. |
Visually Complete Time (Sec) | Specifies the time from the start of the first request to when the page is completely rendered. It is a point-in-time metric that measures when the visual area of a page has finished loading.
In RBU, this is calculated by capturing a clip of the page loading in the browser and comparing size of each clip. |
Requests | Specifies the total number of request excluding the browser cache type request. |
Browser Cache | Specifies the total number of browser cache requests. |
Bytes received | Download Bytes of all Resources. |
Bytes Sent | Sent Bytes for all Resources. |
Page Status | Specifies the page status, such as success or failure. |
Viewing Session Details
From the Page Detail Reports window, you can analyze the user session details such as device info, waterfall report, page load time, visually complete time, and the bytes of data sent and received.
To view session details, click the icon present in the Action column of the Page Detail Reports window. The Session Detail window is displayed, as shown below:
Waterfall Summary
On the session detail page, you can view the waterfall summary by clicking the required page name on the Page Detail Reports window. A waterfall summary is displayed, as shown below:
Viewing Request Details
The Request Details report provides information about the pages requested by the user, any issues faced while accessing the pages, and URL details of the accessed pages.
To access the Request Detail:
- Click the required link in the Request Column either in the Page Average Report window or Page Average Report window, as shown highlighted below:
2. View the Request Details window, as shown below:
The Request Details window consists of three sections:
- Request Page Details
- Top Bottlenecks
- URL details Information table
Request Page Details section
The following section of the Request Detail Page window provides information about the runtime, browser type and additional information:
- Page Start Time : Specifies the page hit time or page started date time.
- Browser: Provides information about the browser type, such as Chromium-browser/Firefox.
- Page Response(ms) : The time it takes for each Web page to load is known as Webpage Response time.
- DOM Complete(ms) :
- Dom Complete is the time immediately before the user agent sets the current document readiness to ‘complete’.
- It simply means the page and all of its sub resources are ready.
- All of the processing is complete and all of the resources on the page (images, etc.) have finished downloading
- Response(ms) : Main URL response time.
- DNS(ms) : Time spent performing the DNS lookup. Every new domain on a page requires a full roundtrip to do the DNS lookup.
- Connect(ms) : Time required to create TCP connection. Use -1 if the timing does not apply to the current request.
- Wait(ms) : Waiting time for a response from the server.
- Load(ms) : load time is made up of two different parts:
- Network and Server Time: based on how speedy the internet connection is and how swiftly static assets like photos and other files are served up
- Browser Time: how long it takes for the browser to parse and execute the document and render 11the page to make it available for user interaction
- Request: It is the total number of request exclude browser cache type request.
- Browser Cache: It is the only total number of browser cache request.
- Main URL Redirects: Number of URL which are redirect, for example if user type google.com then it redirect to google.co.in.
- Main URL Redirect Time: Time taken to redirect Main URL to Redirect URL.
- Host: Total number of host name.
- Download Bytes: Download Bytes of all Resources.
Top Bottlenecks
The following figure displays the Top Bottlenecks sections of the Request Detail window:
The following information is displayed:
- Top Bottlenecks: Specifies the top N host names that are creating a bottleneck for the page.
- Blocking
- Slowest DNS (Total DNS Lookup)
- Slowest Connect (Total Connect)
- Slowest Wait
- Slowest Load
URL details Information table
The following figure displays the URL details section of the Request Detail window:
You can also filter the information with various options (with their value/ range).
The following information is displayed:
- Attribute : There are three types of attribute –
- Resource
- Protocol
- Connection
- # : It shows the Url’s Sequence Number
- Path/File: It shows the resource name.
- Host Name : It shows the host name of URL.
- Host IP Address : It shows the Host IP address.
- Code: The HTTP status code.
- Domain Type: It can be MyDomain or Third Party. if the request is matched with the domain_list then it is from MY Domain else it is from Third Party
- Served By: It shows url’s served by (like Akamai, Browser Cache, Cloudfront, Strangeloop, Third Party)
- Content Type: The MIME type of the requested resource.
- Size: The size of the response body, as delivered by the server. (In chrome developer definition – The combined size of the response headers (usually a few hundred bytes) plus the response body)
- DNS: Time spent performing the DNS look up. Every new domain on a page requires a full round trip to do the DNS look up.
- Connect: Time it took to establish a connection, including handshakes or retries .
- Wait: Time spent waiting for the initial response, also known as the Time To First Byte. This time captures the latency of a round trip to the server in addition to the time spent waiting for the server to deliver the response.
- Download: Time spent receiving the response data.
- Start: It is the request start time.
- Response End: It is response time when request ends with data is retrieved.
Viewing Video Recordings
On the Page Details report window, you can also view clips, graphs, and videos of the requested pages. Click the icon to open the Test Result Index page. You can view the following:
Clips
View clips, which are snapshots or page dumps.
Viewing Visual Progress
You can also view the graphically by expanding the Visual Progress link on the Test Result Index page:
Viewing Videos
Expand the Video link on the Test Result Index page to play the recorded video:
Viewing Page Score Report
You can view the page score report to improve the performance of a page. This report provides recommendations for enhancing the page performance.
This UI is used to represent the overall score of a particular page. Overall score of a page indicates how well we got the response for a particular page while processing it.
To view the page score report:
- Click the Page Load link in the Page Detail Reports window, as highlighted below:
2. The Page Score Report window is displayed:
This overall score is calculated based on number of dynamic PageSpeed factors. Some of them are listed below:
- Minimize DNS lookups
- Combine external JavaScript
- Minimize redirects
- Combine external CSS
- Leverage browser caching
- Minify JavaScript
- Minimize request size
- Specify a cache validator
- Enable compression
- Minify CSS
- Minify HTML
Analyzing the Time to Interact
Using the Time to interact (TTI) link, you can identify the point when a user can interact with a web page element after a page has rendered. The TTI Reports window provides an indicator of the overall site performance as it directly affects user experience.
To open the TTI Reports window:
- Click the required link in the Time to Interact column, as shown highlighted below:
2. The TTI Reports window is displayed:
App Profiling
Using the App Profiling feature, you can analyze the impact of a test application on end-user mobile. The various metrics, such as CPU, Memory, Battery, and Network ca. You can now view the app profile statistics in the Page Detailed Report.
For analyzing the app profile:
- Open the Page Details window.
- Click the required page name in the Page Average Report, as highlighted in the following figure:
3. Click the Session Details icon present in the Action column of the Page Detail Reports window.
4. Click the App Profiling button, as highlighted in the following figure:
The various metrics, such as CPU, Memory, Battery, and Network are displayed.
Viewing Lighthouse Report
Lighthouse has six Performance Metrics:
- First Contentful Paint: First contentful paint marks the time at which the first text/image is painted.
- First Meaningful Paint: First Meaningful Paint measures when the primary content of a page is visible.
- Time to Interactive: Interactive marks the time at which the page is fully interactive.
- Speed Index: Speed Index displays how quickly the contents of a page are visibly populated.
- First CPU Idle: First CPU Idle marks the first time at which the page’s main thread is quiet enough to handle input.
Estimated Input Latency: The score above is an estimate of how long the app takes to respond to user’s input, in milliseconds, during the busiest 5s window of page load. If the latency is higher than 50 ms, users may perceive the app as laggy.
After defining the Lighthouse options, you can view the lighthouse report. To view the report, select Reports>Ready> LightHouse from the Dashboard.
The Lighthouse Average Report is displayed:
This window displays following details:
- Page name
- Host name
- Group
- Session Count
- Performance Score (%)
- Accessibility Score (%)
- Best Practice Score (%)
- First Meaningful Paint (sec)
- Time to Interact (sec)
- First CPU Idle (sec)
- Speed index (ms)
Click the required page name link to display a detailed report.
Lighthouse Settings
Expand the Lighthouse Settings section:
Figure: Lighthouse Settings
You can specify the following lighthouse settings:
Enable Network Throttle: You can enable/disable network throttle settings. Enabling the settings also enables download throughput, upload throughput, and network latency. These fields accept only the values that are greater than 0. If you provide values less than and equal to 0, an error message is displayed.
Note: Network throttle is enabled only if Lighthouse is enabled.
Device Simulation: In the Device Simulation settings, you can enable either Desktop or Mobile simulation.
Analyzing the Results
After specifying the JS Profiler configuration, you can observe the page performance and analyze the results. To view results:
- On the Page Detail Reports, click the
icon to view JS profiler.
Once the recording of the page’s performance is generated, the user can measure how poor the page’s performance is, and find the cause(s).
2. Click the Performance tab at the top-left of the window.
This window contains various sections to analyze the page performance:
Analyze frames per second
The main metric for measuring the performance of any animation is frames per second (FPS).
Red bar above FPS indicates that the framerate dropped so low that it is probably harming the user experience. In general, the higher the green bar, the higher the FPS.
CPU Chart
Below the FPS chart, the user can see the CPU chart. When the CPU chart is full of colors it means CPU is highly utilized during recording and we should find ways to minimize the CPU utilization for its optimization.
The colors in the CPU chart correspond to the colors in the Summary tab, at the bottom of the Performance panel.
3. Hover the mouse over the FPS, CPU, or NET charts. NetStorm displays a screenshot of the page at that point in time. Move the mouse left and right to replay the recording. This is called scrubbing, and it is useful for manually analyzing the progression of animations.
4. In the Frames section, hover the mouse over one of the green squares. NetStorm displays the FPS for that particular frame.
5. Similarly, user can view the Network stats, Interactions, and Timings.
6. To view memory timelines, select the Memory check box.
7. Expand the Main section to see which URL is passing. NetStorm displays a flame chart of activity on the main thread, over time. The x-axis represents the recording, over time. Each bar represents an event. A wider bar means that event took longer. The y-axis represents the call stack. When the user see events stacked on top of each other, it means the upper events caused the lower events.
There is a lot of data in the recording. Zoom in on a single Animation Frame Fired event by clicking, holding, and dragging the mouse over the Overview, which is the section that includes the FPS, CPU, and NET charts. The Main section and Summary tab only display information for the selected portion of the recording.
Note: Red triangle at the top-right of the Animation Frame Fired event indicates a warning that there may be an issue related to this event.
8. Click the Bottom-Up tab to see how the calls are recorded.
9. Click Call Tree tab to see the execution of the calls.
10. Click Event Log to see the logged events during the execution of the page.
Handling HTTP Authentication
Some applications use Http authentication to control access to pages and other resources. Most widely HTTP authentication mechanism include Basic, Digest, and NTLM. In case the server requested for authentication, the browser will prompt for user name and password using native popup. However, the current version of script recorder does not capture these authentication details. It can be configured in the recorded script manually.
Use AuthCredential attribute with ns_web_url() or ns_browser() APIs to provide user credentials. These credentials will be used when authentication popup is displayed during the replay.
Syntax
“AuthCredential=<username>:<password”
Example
ns_browser(“abc”,
“url=https://www.abc.com/”,
“action=Home”,
“title=abc | Shop Clothing, Shoes, Home, Kitchen, Bedding, Toys & More”,
“AuthCredential=admin:admin”
“Snapshots=webpage_1580205273216.png”);
SMTP Settings
Timeouts are an essential feature of an SMTP implementation. If the timeouts are too long (or worse, there are no timeouts), Internet communication failures or software bugs in receiver-SMTP programs can tie up SMTP processes indefinitely. If the timeouts are too short, resources will be wasted with attempts that time out part way through message delivery.
To perform SMTP settings, go to SMTP Settings section on the left pane.
In this section, user can perform SMTP timeout settings:
- Greeting: A Sender-SMTP process needs to distinguish between a failed TCP connection and a delay in receiving the initial 220 greeting message. Many receiver-SMTPs accepts a TCP connection but delay delivery of the 220 message until their system load permits more mail to be processed.
- Mail: by default, it is 300 seconds.
- Recipient: A longer timeout is required if processing of mailing lists and aliases were not deferred until after the message was accepted.
- Data Initialization: This is while awaiting the “354 Start Input” reply to a DATA command.
- Data Block: This is while awaiting the completion of each TCP SEND call transmitting a chunk of data.
- Data Term: This is while awaiting the “250 OK” reply. When the receiver gets the final period terminating the message data, it typically performs processing to deliver the message to a user mailbox. A spurious timeout at this point would be very wasteful, since the message has been successfully sent.
- Session: After this time, the session is expired. By default, it is 600 seconds.
User Profiles
All users belonging to a scenario group share same common characteristics. These characteristics include:
- Network Access method employed by the user to access the web application e.g., 56 K dial-up modem, 512K DSL, cable modem, T1 etc.
- Geographic location of the users. For example, East Cost, mid-west, Asia etc. Geographic location affects the number of hops, packet loss etc.
- Web Browser Used by users, such as NetScape4, IE 5.0 etc.
A common virtual user characterization of a scenario group is called User Profile. User Profile is used for WAN-ENV simulation and can be designed accordingly. User Profile can be designed with desired Location, Access, Browser and Co-located User for scenario groups.
A scenario group is associated with a single User profile. But multiple scenario groups may share same user profile. This would happen in the situation when such scenario groups have different test script associated with them.
If the WAN Simulation is on, one important thing that needs to be defined for actual server is the physical location of the server (SUT) when deployed in production environment. By default, it is set to San Francisco.
By default, Internet simulation is disabled. So, all user profiles simply boil down to a LAN. To use the real Internet simulation:
- Enable the WAN simulation as described below.
- Use the appropriate User profile in defining the Scenario groups.
- Define the Location of the Server as described in the Server Configuration Section below.
There are following sections under this:
- Profile
- Location
- Edit Access
- Browser
- Screen Size
Profile
To open User Profile window, click the Profiles link under User Profile section.
User Profile window is divided in to two frames:
- User Profile Management Frame
- User Profile Details Frame
User Profile Management Frame
With this frame, user can perform following operations:
- Select a user profile
- Add a user profile
- Copy a user profile
- Delete a user profile
To Add a User Profile:
- Enter new user profile in the New User Profile
- Click the Add
- After clicking Add button, user gets the User Profile with its default values.
- Specify the user profile details [discussed later].
- Click the Save button to save the user profile.
To Copy a User Profile:
- Select an existing user profile from the User Profile drop-down list.
- Enter user profile name in New User Profile textbox to copy existed profile.
- Click the Copy button.
- Now, the selected user profile gets copied to name provided in New User Profile text box.
To Delete a User Profile:
- Select the profile that needs to be deleted from the User Profile drop down list.
- Click the Delete button.
- Now, user profile gets deleted from the drop-down list.
User Profile Details Frame
With the help of this frame, user can add location, access, browser and co-located users to a user profile. This frame is again divided into four sub-frames:
- User Location with Dedicated Access
- Dedicated User Access
- Location with Shared Access (Co-Located Users)
- User Browser
Each of above sub frames is provided with three options Add, Delete, and Update.
User Location with Dedicated Access
Here, Location is location-name representing the geographical location of the users and Percent is the percentage of this group of users with respect to total users. Location drop-down contains default list of locations. To add new location to this frame, first user has to delete some locations or edit their percentage, if total percentage is already 100.
User Location with Dedicated Access frame contains three buttons Add, Delete and Update.
To Add a Location in User Location with Dedicated Access frame
- Select a location from drop-down list of user locations.
- Set Percent value of the selected location.
- Click the Add button, location gets added in the list.
To Delete a Location from User Location with Dedicated Access frame
- Select location row from user location list.
- Click the Delete The location gets deleted.
![]() |
User can delete multiple locations at a time by selecting multiple rows. |
To Update a Location from User Location with Dedicated Access frame:
- Select a row to be updated. Here, user can update percentage of users.
- Update the Percent value and click The percent gets updated.
Dedicated User Access
Access Name is the unique user access name, representing the physical network access device used by user to connect to web application. In this frame, access is the shared network access representing the physical network access used by the users and percent is the percentage of this group of users with respect to total users. User Access drop-down contains default list of accesses. To add new access, first user has to delete some accesses or edit their percentage, if total percentage is already 100.
Dedicated User Access frame contains three buttons Add, Delete, and Update.
To Add an Access in Dedicated User Access frame:
- Select an access from drop-down list of user access.
- Set percent value to selected user access.
- Click the Add button. The user access gets added in the list.
![]() |
Total percent of added accesses should be 100. |
To Delete an Access from Dedicated User Access frame:
- Select access row that needs to be deleted.
- Click the Delete The access gets deleted.
![]() |
User can delete multiple Accesses at a time by selecting multiple rows. |
To Update an Access from Dedicated User Access frame:
- Select a row from the drop-down list to be updated.
- Change Percent value and click Update button. The access percent gets updated.
Location with Shared Access (Co-Located Users)
In this frame, access is the shared network access representing the physical network access used by the users. Location is location-name representing the geographical location of the users and percent is the percentage of this group of users with respect to total users. To add new location with shared access, first user has to delete some records or edit the percentage if the total percentage is already 100.
To Add value in Location with Shared Access (Co-Located Users) frame:
- Select the location from drop-down list of locations, select the user access, and provide the percentage.
- Click on Add button, the record gets added.
To Delete a row from Location with Shared Access (Co-Located Users) frame:
- Select a row to be deleted.
- Click the Delete button. The selected row gets deleted.
To Update a row in Location with Shared Access (Co-Located Users) frame:
- Select a row to be updated.
- Change Percent value and click Update The percent gets updated.
User Browser
In this frame, Browser is the browser used by the users and Percent is the percentage of this group of users with respect to total users. User Browser drop-down contains default list of Browsers. To add new browser to this frame, first user has to delete some browsers or edit the percentage if the total percentage is already 100.
User Browsers frame contains three buttons – Add, Delete and Update.
To Add a Browser in User Browser frame:
- Select a browser from drop-down list of user browser and specify the percentage.
- Click the Add button, the browser gets added in the list.
![]() |
Total percent of added browsers should be 100. |
To Delete a Browser from User Browser frame:
- Select browser row that needs to be deleted.
- Click the Delete The browser gets deleted.
![]() |
User can delete multiple Browsers at a time by selecting multiple rows. |
To Update a Browser from User Browser frame:
- Select browser row that needs to be updated.
- Update the Percent value and click the Update The percent value gets updated.
Location
This section is used to add/delete/update a location. To open the locations window, click the Locations link under User Profile section. The locations window is displayed.
Adding a Location
- Enter the new location name and click Add. The following window is displayed.
2. Add the location details, such as continent/country, city, longitude, and latitude.
3. Click OK.
Mapping of Locations: User can map the location with forward and backward latency and forward and backward loss:
Steps to map a location:
- Set a location and click Add.
- Set values of ‘From Location’, ‘To Location’, ‘Forward Latency’, ‘Backward Latency’ and Loss for both the servers to be mapped and then click the OK.
![]() |
User can delete or update a record using the Delete or Update button respectively. |
User Network Access
This section is used to add/delete/update a network access. To open the access window, click the Access link under User Profile section. The User Network Access window is displayed.
Adding an Access
- Enter value for access name, upload bandwidth, download bandwidth, and V.42 compression:
- Click the Add button, the record gets added to the list.
Note: The user can update the upload bandwidth and download bandwidth settings.
Browser
This section is used to add/delete/update a browser. To open the browser window, click the Browser link under User Profile section. The User Browser Types window is displayed.
Adding a User Browser Type
- Specify browser name, maximum connection per server (for HTTP 1.0 and HTTP 1.1), maximum connection per proxy (for HTTP 1.0 and HTTP 1.1), maximum connection per user, keep alive time, and user agent string.
- Click OK button, the user browser gets added.
Screen Size
This section is used for editing a screen size. Click the Screen Size link in the User Profile section, the Screen Size window is displayed.
This window contains the following options:
System Default Screen Size Settings: This shows System Screen Size setting which includes different Screen Size in pixels and corresponding Percentages of it. Total percentage is 100.
User Profile Default Screen Size Settings: This is the default settings for user profile screen size. In this, select the user profile from the Select User Profile drop-down list to which this screen size to be applied and then select the Screen Size and provide the percentage. After Add operation, it is added and it shows the percentage whatever user wanted to add.
User Profile Browser Based: In this section, user can select screen size for different browsers according to the requirements. There is a corresponding percentage with each screen size. User can perform operations like Add, Update, and Delete in setting the screen size.
Java Setting
This section is used to perform the Java setting if user is using the java type script in scenario. In this case, user needs to set some arguments for the execution of java type script. To access the Java Setting window, click the Java Setting menu item in the scenario getting section.
JVM Min and Max Heap Size: Java program executes in JVM and uses Heap of memory to manage the data. Users can set minimum and maximum heap size accordingly. By default, the minimum heap size is 128 MB and the maximum heap size is 512 MB.
JVM Virtual User Thread Pool: Specify the minimum and a maximum number of threads that are reserved for requests from applications. The thread pool is dynamically adjusted between these two values. This is used to set NJVM thread pool values. For example, 64 is at initial level, 2 is for increment, while maximum is 512. 75% is Threshold means thread Pool Percentage.
JVM Custom Arguments: This is used for passing multiple arguments and to set NJVM custom arguments.
System Java Class Path: The class path is the path that the Java runtime environment searches for classes and other resource files. This is used to set NJVM system class path. The Java platform itself uses a Properties object to maintain its own configuration. The System class maintains a Properties object that describes the configuration of the current working environment. System properties include information about the current user, the current version of the Java runtime, and the character used to separate components of a file path name.
Scenario Specific Class Path: This is also used to set NJVM system class path. In this, third party is also used.
Java Home Path: JAVA_HOME is just a convention, usually used by Tomcat and other Java EE app servers to find where Java lives. JAVA_HOME is an environment variable (in UNIX terminologies), or a PATH variable (in Windows terminology). Java applications look up the JAVA_HOME variable for the location where the Java compiler/interpreter may be found. This is used to set the NJVM Java Home path. Set the NJVM_JAVA_HOME environment variable to point to the JRE installation directory.
Connection Timeout: Connection time is the time for which NVM has to wait for NJVM to connect. Maximum time is 60 seconds. After 60 seconds, connection breaks.
Message Timeout: Message timeout means when NetStorm sends Request and Server did not respond within given time then Error displays as Timeout. Default time is 60 seconds.
Health Monitor
This section is further divided into following sub section:
- System Health
- Advanced Settings
System Health
This section is used to set Threshold settings in health monitor based on File System and INode. Disk space check checks space in the hard disk. A warning is displayed or the test is not even starts if the disk space is low. And INode check checks for the free INodes. A warning is displayed or the test is not even starts if the INodes is low.
Health Monitor Settings window contains the following tabs:
- Disk
- INode
Disk
This section contains the information on the disk space status, such as what is the total space of the disk for a particular file system, how much disk space is in use and what is the free space currently. User can set threshold values for critical, major and minor conditions and can also specify whether the test needs to be stopped if the critical value is reached. So, this disk space check provides the user with the facility that checks the disk space before starting the test so that user can avoid the test failure at a later stage and thus save time.
Disk section contains the following options:
File System: It contains a list of files system available in NSAppliace/NDAppliance. User can select a particular file system or all.
Current Disk Status (GB): This field shows total space, used space and free space (in %) of disk.
Threshold Free Space: User can set following threshold Free Space values (in %) for disk:
- Critical: It is used to specify the critical value (in %) below which the test should not run. It must be a numeric value only less than 100.
- Major: It is used to specify that the free disk space percentage is nearing the critical value (in %) and that it has reached the major threshold. It must be a numeric value only less than 100.
- Minor: It is used to specify that the free disk space percentage has just reached the minor threshold value (in %). It must be numeric value only less than 100.
Start Test: It is used to specify whether the user wants to stop the test or not if the critical value is reached. Value can be:
- Yes: Continue with test (default)
- No: Stop the test
INode
In file system, an index node, informally referred to as an INode, is a data structure used to represent a file system object, which can be one of various things including a file or a directory. This section contains the information on INode space, such as what is the total number of INodes allocated for a particular file system, out of them how much INodes are in use and what is the free INodes (in %) currently. User can set threshold values for critical, major and minor conditions and can also specify whether the test needs to be stopped if the critical value is reached. So, this INode check provides the user with the facility that checks the INodes before starting the test so that user can avoid the test failure at a later stage and thus save time.
INode section contains the following options:
File System: It contains a list of files system available in NSAppliace/NDAppliance. User can select a particular file system or all.
Current INode Status (GB): This field shows total INodes, used INodes and free INodes (in %).
Threshold Free Space: User can set following threshold Free Space values (in %) for INode:
- Critical: It is used to specify the critical value (in %) below which the test should not run. It can have numeric values between 0 and 100.
- Major: It is used to specify that the free INodes percentage is nearing the critical value (in %) and that it has reached the major threshold. It must be a numeric value only less than 100.
- Minor: It is used to specify that the free INodes percentage has just reached the minor threshold value (in %). It must be numeric value only less than 100.
Start Test: It is used to specify whether the user wants to stop the test or not if the critical value is reached. Value can be:
- Yes: Continue with test (default)
- No: Stop the test
Advanced Settings
In this section, a user can configure the number of connections allowed at a time while running a test. If it exceeds the specified limit, further connections will not be established until the existing connections are released in the network.
GIT Configuration
Git is an open-source distributed version control system that enables you to save your NetStorm test assets including scenarios, scripts, test suites, and test cases in a Git repository. A Git repository is the directory where all your project files and related metadata reside. This section provides information about how to configure the GIT repository settings in NetStorm.
Getting Started
For GIT configuration in NetStorm, you need to first select the required work profile and enable GIT settings options. Then, provide your server configuration details, branch information, and author info for connecting remotely to the GIT repository. Perform the following steps:
- Access a work profile in NetStorm.
- Enable GIT settings in NetStorm.
- Specify the server configuration.
- Specify the GIT branch and author info.
- Save your GIT configuration and perform GIT operations.
Note: Before configuring GIT settings in NetStorm, you must create a Cavisson directory in the GIT repository.
Access a Work Profile
A work profile enables you to save your selected data in a workspace. You can create multiple work profiles in your respective workspace. For configuring GIT settings, you need to first select a work profile in NetStorm. For more information, see Managing Work Profiles.
To access a profile:
- Log in to Cavisson by specifying your username and password.
Figure: Login Page
2. Expand the user profile drop-down list on the top-right corner of the Unified dashboard. The list of available test profiles is displayed. You can access and switch profiles from this drop-down menu, as highlighted in the following figure:
Figure: Switch Profile
Note: The default profile of the user is highlighted in the user profile list.
Enable GIT Settings
After selecting the required work profile, all the configurations associated with the profile will be loaded in NetStorm. You can now enable GIT configuration options for the selected profile.
To enable GIT configuration in NetStorm:
- Select Admin > GIT Configuration in NetStorm. The GIT Configuration window is displayed.
- Select the Use GIT for Version Control option.
Note: If you do not use GIT for version control, the Cavisson version control system will be used by default.
3. The GIT configuration options are enabled in the window:
Specify Server Configuration
In the Server Configuration section, you need to provide a remote GIT repository URL and valid user credentials to connect and perform GIT operations on the GIT repository.
Repository URL
Specify the remote GIT repository URL in the Repository URL field. It can contain HTTP/HTTPS URL or SSH/GIT URLs. For example, you can use the following types of URLs:
git@gitlab.com:test1/abc.git or https://gitlab.com/test2/abc.git
HTTP/HTTPS Repository URL
If you configure an HTTP/HTTPS repository URL, the SSL certificate is disabled by default. Provide a username and password:
- Disable SSL Certificate: If you do not want to perform a security certificate check, accept the default value of this option.
- User Name: Username of the GIT account that needs to be remotely accessed.
- Password: Password of the GIT account that needs to be remotely accessed.
SSH Repository URL
If you want to configure an SSH/git repository URL , you can either provide username and password or passphrase/sshkey.
You can log in using the following options:
- Via Username/Password
- Via SSH key
Via Username/Password
Provide the GIT username and password.
Via SSH Key
Selecting the Via SSH Key option displays the following options:
User Name
Username of the GIT account that needs to be remotely accessed.
Password
Password of the GIT account that needs to be remotely accessed.
Pass Phrase
Passphrase for the SSH key that is generated by the user. You can secure your SSH keys by adding a passphrase to your SSH keys.
SSH Key
You can either generate an SSH key or import an existing key.
Generate SSH key
You can generate an SSH key with or without specifying a passphrase.
To generate an SSH key:
- Click the Generate SSH Key icon
. A pair of public and private keys are generated.
2. Copy the generated key and add it in GitLab to establish a connection between your machine and GitLab.
Import an Existing SSH Key
To import an existing SSH key:
- Click the Import Existing SSH Key icon
. A Paste SSH key text field is displayed:
2. Add your private SSH key in the Paste SSH Key text box.
3. This key will be uploaded to the following path when you save the GIT configuration:
$NS_WDIR/workspace/<user_name>/<profile_name>/
Select a Branch
After providing the repository URL and valid credentials, you can fetch the list of branches from the remote GIT repository. Based on the selected repository, the branch options are updated in the Branch drop-down list.
- If GIT configuration is already saved, the branches are fetched automatically.
- If you are configuring GIT for the first time or configuring some other remote GIT repository, then you have to manually click the Fetch Branch icon.
To select a branch:
- Click the
icon. The Branch drop-down list is updated with the related branches.
2. Select the required Branch from the drop-down list.
Specify Author Details
Provide the following author information:
- Full Name: This field requires the full name of the user who is configuring GIT and performing git operations.
Note: Full name is different from “User Name” as it refers to the remote git server user name.
- Email: Email of the user who is configuring Git and will be performing GIT operations.
Save your GIT Configuration
After providing GIT configuration, you must save the settings before performing GIT actions. To save:
- Click the Save button in the GIT Configuration window.
- Your GIT configuration will be saved in GIT_CONFIG and VERSION_CONTROL keyword in the .workprofile.conf in the selected work profile at following path:
$NS_WDIR/workspace/<user_name>/<profile_name>/
Perform GIT Operations
After you have saved your GIT configuration, the GIT operations will be enabled in the GIT drop-down list:
Note: if you want to perform GIT operations, a Cavisson directory should exist in the GIT repository.
You can perform the following GIT actions:
- GIT Clone: GIT clone will clone the provided remote git repository inside following path:
$NS_WDIR/workspace/<user_name>/<profile_name>/
- GIT Pull: GIT pull will fetch the latest code from the provided GIT repository.
- GIT Commit: GIT Commit from GIT Configuration window will commit all the modified files in one go.
- GIT Checkout: GIT Checkout will checkout the particular branch that is saved in the .workprofile.conf file.
Managing Work Profiles
In NetStorm, users will have their own workspace. Each workspace will have multiple profiles and each profile will have its own set of test assets. For example: $NS_WDIR/workspace/<user_name>/
By default, new users (non-cavisson user) will have a ‘system’ profile referring to the following directory: $NS_WDIR/workspace/admin/system
You can link each profile with a remote GIT repository and configure git settings for each profile. Each profile will have its own Git configuration saved in the .workprofile.conf file in a particular profile. For example: $NS_WDIR/workspace/<user_name>/<profile_name>/.workprofile.conf.
Support for Multiple Work Profiles
NetStorm supports multiple work profiles for each user. You can create multiple profiles for saving data in separate profiles. For example, you choose to create a new work file for saving your scenarios, test suites, test cases, or check profiles in a separate profile. Each work profile of a user will have its own Git configuration including Git Repository URL, Display name, Email ID, UserName, Password, and other details.
Select a Default Work Profile
Clicking the star icon , you can designate a particular work profile as the default profile. It means that whenever you ogs into the ProductUI, then by default the default profile will be accessed.
Select an Active Work Profile
Clicking the selected work profile in the profile drop-down list, you can switch to the particular profile. All the test assets will be fetched from the selected work profile and all operations, like addition, will be performed on the selected work profile only.
Create a New Profile
To create a new profile:
- Expand the user profile drop-down list on the top-right corner of the NetStorm window. The list of available test profiles is displayed.
Figure: Create a New Profile
2. Select the Create new profile option. The Create New Work Profile dialog box is displayed:
Figure: Create New Work Profile dialog box
3. Provide a work profile name.
4. Expand the Advanced Settings section.
5. Select Make as default to log in using this work profile every time you access NetStorm.
6. If you select the Link to existing directory option, specify the path where your test asset is saved that you want to be linked with the profile.
7. Note that the “default” work profile of a user will be linked with the “default” work profile of “admin”, while creating a Workspace for a user. Therefore, the work profile is saved in the default folder, if you do not choose any other path.
8. Create Create. A new work profile is created.
Delete a Work Profile
Clicking the trash icon, you can delete a particular profile. Before deleting, you will be prompted to give your confirmation.
Note: You cannot delete the ‘system’ and default work profile
General Settings (Correlation ID)
A Correlation ID or Transit ID is a unique identifier value attached to requests and messages that allows reference to a particular transaction in a distributed environment. Cavisson uses Correlation ID header with request so that it can be mapped automatically with flowpath report.
To access this, go to APM Integration > General Settings.
Correlation ID in HTTP Request(s): To add Correlation ID in HTTP Request(s), first user needs to select this check box, and then provide header name with various other configurations.
Header Name: This is the name of the header, which represents the Correlation ID.
For example: X-Correlation-ID
Configure Correlation ID in HTTP Request(s)
User needs to configure the Correlation ID and apply certain parameters before sending it along with the request. Some parameters are optional while others are mandatory (such as transaction name and test number). The values for mandatory parameters are appended automatically in the sample request.
- Prefix: The prefix is the value that is appended preceding to the header value. It must be alphanumeric and without spaces, symbols, and special characters.
For example: CorID, Cor123ID, 123CorID, CorID123, and so on..
- Source ID (SI): It is the Source name / machine configuration name from where the request is generated. It is a mandatory field.
For example: SI=CavissonNS
- Time Stamp (TS): It is the absolute time stamp (in milliseconds) at which the request is generated.
For example: TS=1551163307097
- Unique ID (ID): It is a unique identification of the request, which is a combination of Virtual User ID, Session Instance, and Transaction (last transaction of page) / Page ID. If transaction is not defined, it uses Page instance.
For example: ID=9143
- Page Context (PC): It is the name of current page from where the request is generated.
For example: PC=HomePage
- Virtual User Index (VU): It is a combination of Virtual User ID and Virtual User Instance used to send the request.
For example: VU=10
- Transaction Name (NA): It is the last transaction of the page or the page name. It is a mandatory field.
For example: NA= HomeTx
- Client IP / Port (CI): It is the IP and the port of client / source machine.
For example: CI=199.99.96.1:31728
- Destination IP / Port (DI): It is the IP and the port of destination machine / server.
For example: DI=104.80.50.135:29088
- Geographical Region (GR): It is the geographical region / location of the user who generates the request.
For example: GR=SanFrancisco
- Agent Name (AN): It is the logical name of the agent which originates the request.
For example: AN=199.99.96.1
- Script Name (SN): It is the set of requests that makes up a multi-step transaction.
For example: SN=ToursScript
- Test Name (TE): It is the name of the load test. It is a mandatory field.
For example: TE=11924
- Suffix: The suffix is the value that is appended succeeding to the header value. It must be alphanumeric and without spaces, symbols, and special characters.
For example: CorID, Cor123ID, 123CorID, CorID123, and so on..
Configure Correlation ID (as above) in Inline Request(s): On selecting this check box, inline requests will contain the same Correlation ID configurations (as done for HTTP request).
Configured Correlation ID: This denotes the sample HTTP Request header based on the configurations of the Correlation ID done above.
For example:
HTTP Request Header
X-Correlation-ID: SI=CavissonNS;TS=1551163307097;ID=9143;PC=HomePage;VU=10;NA=HomeTx;CI=199.99.96.1:31728;DI=104.80.50.135:29088;GR=SanFrancisco;AN=AN=199.99.96.1;SN=ToursScript;TE=11924
Internet Protocol (IP) Address Management
It is a method of tracking and modifying the information associated with a network’s Internet Protocol address (IP address) space. It is an integrated suite of tools to enable end-to-end planning, deploying, managing and monitoring of your IP address infrastructure, with a rich user experience. It automatically discovers IP address infrastructure servers and Domain Name System (DNS) servers on your network and enables you to manage them from a central interface.
Why IP Management is required?
There is a need for NetStorm to support multiple sources IP addresses for following reasons.
- Real users use different source IP addresses and hence to emulate the real-world scenarios NetStorm should be able to generate virtual users with different source IP addresses.
- When NetStorm generates a very high connection rate, system can run short of IP addresses/ports combinations for creating new connections. Ports are limited to 64K and hence having several sources IPs may be required.
There is a need for NetStorm to support multiple servers IP addresses for following reasons.
- Real servers use different IP addresses and hence to emulate the real-world scenarios NetStorm should be able to connect to different servers different server IP addresses.
- When NetStorm generates a very high connection rate, system can run short of IP addresses/ports combinations for creating new connections on server side. Ports are limited to 64K and hence having several destinations IPs may be required.
This is achieved by IP management module of NetStorm product.
IP Management in NetStorm
Go to View > Scenarios > IP Management.
Figure: IP Management Icon
This displays the IP Management window. Here, the user can assign IP address for client and server.
Figure: IP Management Window
To assign IP address for client or server, the user is required to click the Client or Server button respectively.
Assigning IP Address
On the IP Management window, click the Add button. This displays the Add IP window (for either client or server based on the option selected).
Figure: Add IP for Client
The user needs to provide the following inputs:
- IP Version: Select either IPv4 or IPv6.
- Vlan ID: An ID associated with each VLan.
- Network ID: Network ID for client / server.
- Netbits: Bits of IP address, which are used to representing the network.
- Start IP: Start ip of the particular range (netid).
- End IP: Last ip of the given range.
- Number of IPs: Number of PIs in the provided range.
- Gateway: Allows data to flow from one discrete network to another. IP properties Tab of the IP Management affect this field.
- Interface: It is condition dependent. If we are using more than one Load interface then only these column becomes visible.
Auto Fill
By clicking the Auto Fill button, the details are filled automatically. To use this option, the user must provide Start IP and End IP or Number of IP.
Delete IPs
The user can delete one or more IPs by selecting the record(s) and clicking the Delete button.
Show Required Gateway Configuration
This button is only displayed if there is any gateway entry in the IP entries file. On clicking this button, it displays the gateway IPs of client and server.
Figure: IP Management List
Connectivity
On clicking this button, it fetches those clients IP and server IPs, which are not connected to each other.
Figure: IP Connectivity
Properties
The user can set the Gateway configuration for the IPs. On the basis of Gateway configuration, Gateway column vary in IP tab. The user can reserve the net ids so that it cannot be added in the IP tab.
Gateway Settings
Only Layer 2 device is between client and server (No Gateway configuration required)
If user wants to set gateway configuration in such a way that there is no gateway is required between client and server then user need to use this option.
Only Layer 3 device(s) is between client and server (Gateway configuration always required)
If user always want to use the Gateway between client and server, then user need to use this option.
Even user wants to use first IP as gateway, the user needs to use the following option:
Use first IP address of the IP range as Gateway address if Gateway not specified
User defined (No enforcement of Gateway configuration)
It means there may or may not be a gateway between the client and server. Therefore, the user can use this option.
Other Settings
The user can reserve net ids that cannot be added in IP tab. This net id is reserved for internal use. We use 192.168.255.0 as the reserved net id for IPV4.
Launch SSH Console
Logged-in users can access a sandbox view of the Linux terminal from the NetStorm, NetCloud, and NetOcean browser. This access is allowed only when you have configured NS/NC/NO in the Multi-Node Cluster mode. For more information, see Multi Node Configuration.
- Select Actions > Launch SSH Console to open a terminal window to access your workspace where your test assets are present.
2. Update the test assets, like scripts, using the VI editor.
3. Commit your changes to your GIT repository.
Multi Node ConfigurationYou can configure the Multi DC environment through UI and can start a node server from there. You can add, edit, delete, update, and configure multiple slaves and can change master DC. By using the Apply button, you can start the node server.
Figure: Cluster Configuration Window
You can perform the following action on the Multi-Node Configuration window:
Add a Node
To add a node, you need to provide the following details and click the Add button:
- Node Name: This is the name of the node. It must start with an alphabet. Maximum length is 32 characters.
- Session Number: This is the number of the session. It is a numeric and maximum length allowed is 32.
- IP Address: It is the IP address of the machine. It is a numeric field with 11 allowed characters.
- Port: It is the port of the machine. It is a numeric field with 7 allowed characters.
- Protocol: Select the protocol either HTTP/HTTPs from the drop-down list.
- Master: If this is a master node, select the ‘Master’ check box.
- Node Type: Select the product type, such as NetDiagnostics, NetStorm, NetVision, and so on from the list.
- Enable Node: This shows whether the node is enabled or not.
- Actions: The user can either delete or edit the node info given.
Delete a Node
You can delete master and slave DC by clicking the Delete button. However, if you delete the master DC information, then it must make at least one DC information from the table as master before using the Apply button.
Edit a Node
You can edit the DC information by clicking the Edit button and can update DC information as per the requirements.
Save the Node Details
On clicking the Save button, the DC details are saved in the records.