OnDevice HTTP - User Manual

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

OnDevice Http User Manual

Contents

1 Overview 3
1.1 Operational and Functional Differences .......................................................... 3
1.1.1 HTTP GET - UE Download .............................................................. 3
1.1.2 HTTP GET - UE Webkit ................................................................... 3
1.1.3 HTTP POST - HTTP UE .................................................................. 5

2 Prerequisites 6
2.1 Phone Setup .................................................................................................... 6
2.1.1 App Permission ................................................................................ 6

3 Activity Configuration 7
3.1 Sample Scripts ................................................................................................ 7
3.1.1 HTTP GET - UE Download .............................................................. 7
3.1.2 HTTP GET - UE Webkit ................................................................... 7
3.1.3 HTTP POST - HTTP UE .................................................................. 7
3.2 Settings............................................................................................................ 8
3.2.1 HTTP GET - UE Download .............................................................. 8
3.2.2 HTTP GET - UE Webkit .................................................................10
3.2.3 HTTP POST – HTTP UE ...............................................................13

4 Information Elements & Events 16


4.1 KPI Measurement Overview..........................................................................16
4.2 HTTP GET .....................................................................................................16
4.2.1 HTTP GET Trigger Point................................................................16
4.2.2 HTTP GET Operation Event ..........................................................16
4.2.3 HTTP GET Information Element ....................................................16
4.2.4 HTTP GET Signaling Diagram (Single Socket) .............................17
4.2.5 HTTP Signaling Diagram (Multiple Sockets) .................................18
4.2.6 Sample Measurement ....................................................................20
4.3 HTTP POST ..................................................................................................20
4.3.1 HTTP POST Trigger Point .............................................................20
4.3.2 HTTP POST Operation Event ........................................................20
4.3.3 HTTP POST Information Element .................................................21
4.3.4 HTTP Signaling Diagram (Single Socket)......................................21
4.3.5 HTTP Signaling Diagram (Multiple Sockets) .................................23
4.3.6 Sample Measurement ....................................................................25

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 1


OnDevice Http User Manual, Version 1.13
4.3.1 Supported HTTP GET KPIs ...........................................................26
4.3.2 Supported HTTP POST KPIs ........................................................27
4.3.3 Supported HTTP GET End Result .................................................28
4.3.4 Supported HTTP POST End Result ..............................................28

5 Highlights 30
5.1 Limitations .....................................................................................................30

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 2


OnDevice Http User Manual, Version 1.13
1 Overview
OnDevice HTTP Service is a service that used to measure the network performance on
HTTP protocol. The functionality that it provides include HTTP download, HTTP upload
and Web browsing.

1.1 Operational and Functional Differences


There are 3 OnDevice HTTP solutions as below.
• HTTP GET - UE Download : OnDevice file download
• HTTP GET - UE Webkit : OnDevice web browsing
• HTTP POST - UE HTTP : OnDevice file upload

1.1.1 HTTP GET - UE Download


UE Download solution is a solution to perform file download via HTTP GET.

Service Access Time


Method B Data Transfer Time Method B / Mean Data Rate Method B

Service Access Time


Method A Data Transfer Time Method A / Mean Data Rate Method A

Service Access Data Transfer

First Packet With Content


Last Packet
First Syn First Http Get

1.1.2 HTTP GET - UE Webkit


UE Webkit solution is a solution that browse a web page via HTTP GET. The content of
the web page will be displayed as a floating window. There are 2 types of web pages
that supported, which is static web page and live web page.
For testing on HTTPS website, it is possible to decrypt the traffic with some extra
configuration.

1.1.2.1 Static Web Page Test


The content of the web page is static once loaded. The page will not be refreshed
dynamically.
For full measurement, the browsing session is considered done once receives the
completion event notification.
For time-based measurement, the browsing session is considered done once hits or
exceeds the configured maximum transfer duration.

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 3


OnDevice Http User Manual, Version 1.13
1.1.2.2 Live Web Page Test
The content of the web page is not static after loading. The page will be refreshed
dynamically to load new content.
The browsing session is only considered done when fulfill these criterias:
• Received the completion event notification.
• Received bytes exceeds the configured miminum payload.
• Silence time accomplished.

1.1.2.3 HTTPS Decryption Test


When testing on a HTTPS website using UE Webkit, we can decrypt the traffic. The
encrypted traffics will be decrypted and appear in the result is it is not encrypted.
To use this feature, our custom WebView must be deployed to the device, along with
some configuration which is explained in OnDevice HTTP Custom WebView
Deployment.

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 4


OnDevice Http User Manual, Version 1.13
1.1.3 HTTP POST - HTTP UE
HTTP UE (upload) is a solution to perform a file upload via HTTP POST.

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 5


OnDevice Http User Manual, Version 1.13
2 Prerequisites
2.1 Phone Setup

2.1.1 App Permission


• Go to Setting > Apps, and look for OnDeviceHttpService.
• Select this app and look for Permissions.
• Ensure Files and media and Phone permissions are allowed.

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 6


OnDevice Http User Manual, Version 1.13
3 Activity Configuration
3.1 Sample Scripts

3.1.1 HTTP GET - UE Download


Sample Script Sample Script Screenshot

http_get_ue_download.tsc

3.1.2 HTTP GET - UE Webkit


Sample Script Sample Script Screenshot

http_get_ue_webkit.tsc

3.1.3 HTTP POST - HTTP UE


Sample Script Sample Script Screenshot

http_post_ue_http.tsc

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 7


OnDevice Http User Manual, Version 1.13
3.2 Settings

3.2.1 HTTP GET - UE Download

Property Description

URL The Url of the webpage or file download direct link.


To perform UE Download, please specify a direct link end with the file type
extension. Supported file types are:
.7z, .avi, .bmp, .dat, .jpg, .mp3, .mpg, .png, .rar, .txt, .wav, .zip, xls, or xlsx.
To perform UE Download with Multiple Files, insert 1 Url to download the
same file or insert multiple Urls to download different file. See example below
to download different file with multiple Url which is separated by comma (,).
This feature will only work for URLs belonging to the same IP.
e.g.: http://tems.com/t1.zip,http://1.2.3.4/t2.zip,http://tems.com/t3.zip
To perform UE WebKit, insert any Url of the webpage.
UE Download is only for file download. Please DO NOT use it for web
browsing.
UE WebKit is only for web browsing. Please DO NOT use it for file download.

Expected MD5 After downloaded the file, an MD5 hash will be calculated. If this is provided,
it will be used to verify with the calculated MD5.
The MD5 format is 32 hexadecimal characters. For multiple files, separate
each MD5 with a comma like the URL above.

End Session After


Set to True for time-based measurement.
Time

Time The maximum transfer duration for the time-based measurement.

End Session After Set to True to end session successfully after the download exceeds the
Payload Size payload size.

Payload Size The payload size limit in bytes. If the download exceeds this value, the
download is considered done and the session will end.

Concurrent Download The concurrent download mode.


Multiple Files: To download multiple files concurrently
Multiple Parts: To download a single file with multiple threads.

Number Of Number of file(s) to be downloaded in parallel.


Downloads
This is only applicable for Multiple Files mode

Number Of Threads Number of threads(s) to be used in parallel.


This is only applicable for Multiple Parts mode

Consider Any
Download Thread Indicating whether the test is considered as failure if any of the download or
Failure As Failed thread failed with data transfer cutoff.
Measurement

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 8


OnDevice Http User Manual, Version 1.13
This setting is obsolete starting from ODM 1.190 onwards, user should set
Proceed Without IP this to False always.
Sniffer
For ODM versions prior to ODM 1.190, this value indicates whether the test
should proceed if the IPCapture service failed to start.

If set to True, the test will proceed regardless IPCapture service can be
started. If IPCapture service not exists or failed to start, only limited KPIs will
be reported. Refer to 3.3.5 section for the limited KPIs.

If set to False, the test will return with error message Failed to start
IPCapture Service if IPCapture service not exists or failed to start.
Maximum wait time for DNS lookup.
Dns Timeout
Set to 00:00.00 to disable the timeout.

This option is not applicable if Proceed Without IP Sniffer set to True.


Maximum wait time from First Syn to First Packet With Content.
IP Service Access
Timeout Method A Set to 00:00.00 to disable the timeout.

This option is not applicable if Proceed Without IP Sniffer set to True.


Maximum wait time from First Syn to First Http Get.
IP Service Access
Timeout Method B Set to 00:00.00 to disable the timeout.

This option is not applicable if Proceed Without IP Sniffer set to True.


Maximum wait time from First Packet With Content to Last Packet.
Data Transfer Timeout
Method A Set to 00:00.00 to disable the timeout.

This option is not applicable if Proceed Without IP Sniffer set to True.

This option is not applicable for Time Base Measurement.


Maximum wait time from First Http Get to Last Packet.
Data Transfer Timeout
Method B Set to 00:00.00 to disable the timeout.

This option is not applicable if Proceed Without IP Sniffer set to True.

This option is not applicable for Time Base Measurement.


Set to True to use the last 200 OK or 206 response as First Packet With
Use Last Connection Content.
As Marker for Full
Measurement This option is ONLY applicable for full measurement.

This option is not applicable if Proceed Without IP Sniffer set to True.

Set to True to use the last 200 OK or 206 response as First Packet With
Use Last Connection Content.
As Marker for Time
Based Measurement This option is ONLY applicable for time based measurement.

This option is not applicable if Proceed Without IP Sniffer set to True.

Socket connect timeout. Maximum wait time in establishing a connection to


Connection Timeout the target server.

Set to 00:00.00 as infinite timeout.


Socket read timeout. Maximum wait time in reading the input stream.
Read Timeout

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 9


OnDevice Http User Manual, Version 1.13
Set to 00:00.00 as infinite timeout.

Network Access Maximum wait time for the device data connection up.
Timeout

Maximum wait time from First DNS request to First Packet With Content
Time To First Byte
Timeout Set to 00:00.00 to disable the timeout.

Optional
If an internal setting (see below) is enabled, the computation of Time to
FirstByte is from FirstDnsRequest to first HTTP response from server
(response can be 404, 3xx (redirection), etc) . Previously, this is the time
from FirstDnsRequest to FirstPktWithContent.
NOTE: If the response code is 200 then there is no change since 200 is
treated as FirstPktWithContent

How to Change the Internal settings:


The internal setting is in the Investigation.exe.config file, search for this line:
<onDeviceHttpConfiguration maximumWaitTimeAsFailure="true" />

Change it to the following:


<onDeviceHttpConfiguration maximumWaitTimeAsFailure="true"
useFirstHttpResponseForTimeToFirstByte="true"/>

New KPI if the Internal Settings is Changed:


Once the setting is true, a new KPI Report marker, FirstHTTPResponse will
be reported if the web server indeed responded with a non-200 response
code like 3xx, 4xx, 5xx, etc.
And the TimeToFirstByte event shall be computed from the timestamp
associated with FirstHTTPResponse( FirstDnsRequest to
FirstHTTPResponse)

This option is not applicable if Proceed Without IP Sniffer set to True.


Minimum mean data rate method A (in kbit/s) for the session to be
Minimum Mean Data considered successful
Rate Method A
Set to 0 to disable the feature.

This option is not applicable if Proceed Without IP Sniffer set to True.


Set the value for the ‘Host’ HTTP header and one or more custom HTTP
HTTP Headers headers. The value that set here should override the value of header which
by default extracted from the URL.

Value format i.e: name=val;name2=val2


Leave the field as blank to use default value.
The size in bytes where chunk report will be created each time the payload
Chunk Size reaches. Chunk report is similar to log report except that it is created on
every time the payload reaches the chunk size, instead of created on every
one second.
Set to 0 to disable creating chunk report.
Minimum chunk size is 10000 bytes.

3.2.2 HTTP GET - UE Webkit

Property Description

URL The Url of the webpage or file download direct link.


To perform UE WebKit, insert any Url of the webpage.

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 10


OnDevice Http User Manual, Version 1.13
UE Download is only for file download. Please DO NOT use it for web
browsing.
UE WebKit is only for web browsing. Please DO NOT use it for file download.

End Session After


Set to True for time-based measurement.
Time

Time The maximum transfer duration for the time-based measurement.

End Session After Set to True to end session successfully after the download exceeds the
Payload Size payload size.

Payload Size The payload size limit in bytes. If the download exceeds this value, the
download is considered done and the session will end.

Show Window To show the browser window.

Web Page Type The webpage type: Static or Live


Refer to 1.1.2 for details.

This setting is obsolete starting from ODM 1.190 onwards, user should set
Proceed Without IP this to False always.
Sniffer
For ODM versions prior to ODM 1.190, this value indicates whether the test
should proceed if the IPCapture service failed to start.

If set to True, the test will proceed regardless IPCapture service can be
started. If IPCapture service does not exists or failed to start, only limited
KPIs will be reported. Refer to 3.3.5 section for the limited KPIs.

If set to False, the test will return with error message Failed to start
IPCapture Service if IPCapture service does not exists or failed to start.

Clear Cache Clear cache before starting the browsing.

Clear Cookies Clear cookies before starting the browsing.

Cache Mode To configure the Http cache control.

Minimum Payload Minimum payload as one of the criterias to determine the live page browsing
completion.
Refer to 1.1.2.2 for details.

Silence Time Silence time as one of the criterias to determine the live page browsing
completion.
Refer to 1.1.2.2 for details.

Maximum Wait Time Maximum wait time from the page completion event notification until getting
the minimum payload and exceeds silence time.
Set ‘0’ to disable the timeout.

Maximum Session Maximum wait time to complete the browsing.


Time
Set ‘0’ to disable the timeout.

Maximum wait time for DNS lookup.


Dns Timeout

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 11


OnDevice Http User Manual, Version 1.13
Set to 00:00.00 to disable the timeout.

This option is not applicable if Proceed Without IP Sniffer set to True.

Maximum wait time from First Syn to First Packet With Content.
IP Service Access
Timeout Method A Set to 00:00.00 to disable the timeout.

This option is not applicable if Proceed Without IP Sniffer set to True.


Maximum wait time from First Syn to First Http Get.
IP Service Access
Timeout Method B Set to 00:00.00 to disable the timeout.

This option is not applicable if Proceed Without IP Sniffer set to True.


Maximum wait time from First Packet With Content to Last Packet.
Data Transfer
Timeout Method A Set to 00:00.00 to disable the timeout.

This option is not applicable if Proceed Without IP Sniffer set to True.

This option is not applicable for Time Base Measurement.


Maximum wait time from First Http Get to Last Packet.
Data Transfer
Timeout Method B Set to 00:00.00 to disable the timeout.

This option is not applicable if Proceed Without IP Sniffer set to True.

This option is not applicable for Time Base Measurement.


Maximum wait time for the device data connection up.
Network Access
Timeout

Maximum wait time from First DNS request to First Packet With Content
Time To First Byte
Timeout Set to 00:00.00 to disable the timeout.

Optional
If an internal setting (see below) is enabled, the computation of Time to
FirstByte is from FirstDnsRequest to first HTTP response from server
(response can be 404, 3xx (redirection), etc) . Previously, this is the time
from FirstDnsRequest to FirstPktWithContent.
NOTE: If the response code is 200 then there is no change since 200 is
treated as FirstPktWithContent

How to Change the Internal settings:


The internal setting is in the Investigation.exe.config file, search for this
line: <onDeviceHttpConfiguration maximumWaitTimeAsFailure="true" />

Change it to the following:


<onDeviceHttpConfiguration maximumWaitTimeAsFailure="true"
useFirstHttpResponseForTimeToFirstByte="true"/>

New KPI if the Internal Settings is Changed:


Once the setting is true, a new KPI Report marker, FirstHTTPResponse
will be reported if the web server indeed responded with a non-200
response code like 3xx, 4xx, 5xx, etc.
And the TimeToFirstByte event shall be computed from the timestamp
associated with FirstHTTPResponse( FirstDnsRequest to
FirstHTTPResponse)

This option is not applicable if Proceed Without IP Sniffer set to True.

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 12


OnDevice Http User Manual, Version 1.13
Maximum wait time from First DNS request to Last Packet
Overall Session
Timeout Set to 00:00.00 to disable the timeout.

This option is not applicable if Proceed Without IP Sniffer set to True.


The size in bytes where chunk report will be created each time the payload
Chunk Size reaches. Chunk report is similar to log report except that it is created on
every time the payload reaches the chunk size, instead of created on every
one second.
Set to 0 to disable creating chunk report.
Minimum chunk size is 10000 bytes.
Option to disable/enable the automatic retrieval of favourite icon (favicon)
Disable Favourite Icon request.
Request Set True to Disable Favourite Icon Request.

3.2.3 HTTP POST – HTTP UE

Property Description

URL The Url of the webpage for Http Post.

End Session After


Set to True for time-based measurement.
Time

Time The maximum transfer duration for the time-based measurement.

Amount of Data to Amount of data to upload.


Upload
The unit can be specified thus: B for byte, K for kilobyte, M for megabyte, G
for gigabyte, T for terabyte. Casing does not matter: K and k are the same.
If no unit is specified, byte will be used.

Concurrent Upload The concurrent upload mode.


Multiple Files: To upload multiple files concurrently
Multiple Parts: To upload a single file with multiple threads.

Number Of Uploads Number of file(s) to be uploaded in parallel.


This is only applicable for Multiple Files mode

Number Of Threads Number of threads(s) to be used in parallel.


This is only applicable for Multiple Parts mode

Consider Any Upload


Indicating whether the test is considered as failure if any of the upload or
Thread Failure As
thread failed with data transfer cutoff.
Failed Measurement

This setting is obsolete starting from ODM 1.190 onwards, user should
Proceed Without IP set this to False always.
Sniffer
For ODM versions prior to ODM 1.190, this value indicates whether the test
should proceed if the IPCapture service failed to start.

If set to True, the test will proceed regardless IPCapture service can be
started. If IPCapture service does not exists or failed to start, only limited
KPIs will be reported. Refer to 3.3.5 section for the limited KPIs.

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 13


OnDevice Http User Manual, Version 1.13
If set to False, the test will return with error message Failed to start
IPCapture Service if IPCapture service does not exists or failed to start.
Random – Random data will be uploaded.
Source Type Dedicated from storage – Use the files from Payload Data Store.
Custom file – Select a file from your machine and use it for upload.

This option is ONLY applicable for UE HTTP and TEMS Browser.


The path of the file to be used for upload. This is the path on your machine.
Custom File
This option is ONLY applicable for Custom file source type.
The filename that is sent to the server. This is useful if your server needs to
Custom Filename recognize the file. For example, using the filename to determine the MD5
hash of the uploaded file and verify it.

If leave empty, a random file name will be used.

This option is ONLY applicable for Custom file source type.

End Session After Set to True to end session successfully after the upload exceeds the
Payload Size payload size.

The payload size limit in bytes. If the upload exceeds this value, the upload
Payload Size is considered done and the session will end.
Maximum wait time for DNS lookup.
Dns Timeout
Set to 00:00.00 to disable the timeout.

This option is not applicable if Proceed Without IP Sniffer set to True.


Maximum wait time from First Syn to First Packet With Content.
IPService Access
Timeout Method A Set to 00:00.00 to disable the timeout.

This option is not applicable if Proceed Without IP Sniffer set to True.


Maximum wait time from First Packet With Content to Last Packet.
Data Transfer
Timeout Method A Set to 00:00.00 to disable the timeout.

This option is not applicable if Proceed Without IP Sniffer set to True.

This option is not applicable for Time Base Measurement.


Set to True to use the first upload packet of the last connection as First
Use Last Connection Packet With Content.
As Marker for Full
Measurement This option is ONLY applicable for full measurement.

This option is not applicable if Proceed Without IP Sniffer set to True.

Set to True to use the first upload packet of the last connection as First
Use Last Connection Packet With Content.
As Marker for Time
Based Measurement This option is ONLY applicable for time based measurement.

This option is not applicable if Proceed Without IP Sniffer set to True.

Socket connect timeout. Maximum wait time in establishing a connection to


Connection Timeout the target server.

Set to 00:00.00 as infinite timeout.


Socket read timeout. Maximum wait time in reading the input stream.
Read Timeout

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 14


OnDevice Http User Manual, Version 1.13
Set to 00:00.00 as infinite timeout.

Network Access Maximum wait time for the device data connection up.
Timeout
Maximum wait time from First DNS request to First Packet With Content
Time To First Byte
Timeout Set to 00:00.00 to disable the timeout.

Optional
If an internal setting (see below) is enabled, the computation of Time to
FirstByte is from FirstDnsRequest to first HTTP response from server
(response can be 404, 3xx (redirection), etc) . Previously, this is the time
from FirstDnsRequest to FirstPktWithContent.
NOTE: If the response code is 200 then there is no change since 200 is
treated as FirstPktWithContent

How to Change the Internal settings:


The internal setting is in the Investigation.exe.config file, search for this line:
<onDeviceHttpConfiguration maximumWaitTimeAsFailure="true" />

Change it to the following:


<onDeviceHttpConfiguration maximumWaitTimeAsFailure="true"
useFirstHttpResponseForTimeToFirstByte="true"/>

New KPI if the Internal Settings is Changed:


Once the setting is true, a new KPI Report marker, FirstHTTPResponse will
be reported if the web server indeed responded with a non-200 response
code like 3xx, 4xx, 5xx, etc.
And the TimeToFirstByte event shall be computed from the timestamp
associated with FirstHTTPResponse( FirstDnsRequest to
FirstHTTPResponse)

This option is not applicable if Proceed Without IP Sniffer set to True.


Minimum mean data rate method A (in kbit/s) for the session to be
Minimum Mean Data considered successful
Rate Method A
Set to 0 to disable the feature.

This option is not applicable if Proceed Without IP Sniffer set to True.


Set the value for the ‘Host’ HTTP header and one or more custom HTTP
HTTP Headers headers. The value that set here should override the value of header which
by default extracted from the URL.

Value format i.e: name=val;name2=val2


Leave the field as blank to use default value.

This option is ONLY applicable for UE HTTP.


The size in bytes where chunk report will be created each time the payload
Chunk Size reaches. Chunk report is similar to log report except that it is created on
every time the payload reaches the chunk size, instead of created on every
one second.
Set to 0 to disable creating chunk report.
Minimum chunk size is 10000 bytes.

This option is ONLY applicable for UE HTTP.

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 15


OnDevice Http User Manual, Version 1.13
4 Information Elements & Events
4.1 KPI Measurement Overview
Throughput measurement for HTTP Get is measured on TCP level. In order to measure
in TCP level, IP Sniffing service will be running at the background to sniff the HTTP Get
traffic. Those important measurement elements (i.e. KPI Trigger Point, timestamp and
bytes transferred) will be retrieved directly from the captured IP packets by inspecting
all the packets.

4.2 HTTP GET

4.2.1 HTTP GET Trigger Point


Trigger Point Abstract Description Technical Description

Tr-1 Script activity start TEMS script activity been trigger to start

Tr-2 Start HTTP connection First Syn flag been triggered

Tr-3 Send Operation request First HTTP GET request sent

Operation successfully Received success response


Tr-4
completed

Tr-5 Operation failed Received error response

4.2.2 HTTP GET Operation Event


Events Description Start Trigger End Trigger

HTTP Start Script activity started. Tr-1 -

First SYN Operation start Tr-2 -

First SYN ACK Operation received Server SYN ACK Tr-2 -

First ACK Operation ACK to Server Tr-2 -

First HTTP GET Operation first HTTP GET request Tr-3 Tr-4

First Packet With Operation received first packet with


Tr-1 Tr-4
Content payload

HTTP Error Operation failed. Tr-1 Tr-5

HTTP End Script activity ended. Tr-1 Tr-4 or Tr-5

4.2.3 HTTP GET Information Element


Information Elements Description

HTTP Average Throughput The average throughput for HTTP download

Percentage of HTTP downloads that could not be completed although they


HTTP Data Transfer Cutoff Ratio
were started successfully.

HTTP Get Session Failure Ratio The failure rate of the HTTP GET session.

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 16


OnDevice Http User Manual, Version 1.13
Percentage of HTTP download attempts where, after successful PDP
HTTP IP Service Access Failure
context activation, the HTTP service itself could not be accessed. (This IE is
Ratio
meaningful only for UMTS.)

HTTP Received Number of bytes received over HTTP.

Percentage of HTTPdownload attempts where the HTTP service could not


be accessed, due to a failure that occurred either during PDP context
HTTP Service Non-Accessibility
activation or during the service access procedure itself. (This IE is
meaningful only for UMTS.)

HTTP Throughput Instantaneous HTTPdownload throughput

HTTP Transfer Time Elapsed time for current HTTP download session.

4.2.4 HTTP GET Signaling Diagram (Single Socket)


Diagram below shows the HTTP Get signaling. The normal flow of browsing or
downloading a file is as below;
DNS -> TCP Handshake -> GET Request -> GET Response 200 OK and Start Transfer -> End

For throughput measurement, it start measures upon getting the GET Response with
200 OK. From there onwards, throughput will be updated in every second of interval.

HTTP Client DNS Server HTTP Server KPI Trigger

DNS Query

DNS Response

TCP SYN First SYN


TCP SYN-ACK First SYN-ACK
TCP ACK

HTTP GET First HttpGet

HTTP 200 OK First Packet With Content


P0
HTTP payload

HTTP payload
P1: Payload Update (every sec)

P2: Payload Update (every sec)

P3: Payload Update (every sec)

P4: Payload Update up to last payload packet


HTTP payload Last Packet
TCP FIN

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 17


OnDevice Http User Manual, Version 1.13
4.2.5 HTTP Signaling Diagram (Multiple Sockets)
Diagram below shows the HTTP Get signaling for Multiple Sockets. The trigger points is
configurable to use either the first connection or the last connection (use last connection
by default).

3.2.2.1 Use last connection as trigger points:

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 18


OnDevice Http User Manual, Version 1.13
3.2.2.2 Use first connection as trigger points:

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 19


OnDevice Http User Manual, Version 1.13
4.2.6 Sample Measurement

4.2.6.1 Application Layer Throughput Downlink


Application Layer Throughput Downlink is the current throughput for the period of 1
second.
𝑃𝑎𝑦𝑙𝑜𝑎𝑑𝑃1
𝐴𝑝𝑝𝑙𝑖𝑐𝑎𝑡𝑖𝑜𝑛𝐿𝑎𝑦𝑒𝑟𝑇ℎ𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡𝐷𝑜𝑤𝑛𝑙𝑖𝑛𝑘𝑃1 = 𝑇𝑖𝑚𝑒𝑃1 − 𝑇𝑖𝑚𝑒𝑃0
q

𝑃𝑎𝑦𝑙𝑜𝑎𝑑𝑃2 − 𝑃𝑎𝑦𝑙𝑜𝑎𝑑𝑃1
𝐴𝑝𝑝𝑙𝑖𝑐𝑎𝑡𝑖𝑜𝑛𝐿𝑎𝑦𝑒𝑟𝑇ℎ𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡𝐷𝑜𝑤𝑛𝑙𝑖𝑛𝑘𝑃2 =
𝑇𝑖𝑚𝑒𝑃2 − 𝑇𝑖𝑚𝑒𝑃1

4.2.6.2 Http Average Throughput


Http Average Throughput is the average throughput since the first Get Response with
200 OK.
𝑃𝑎𝑦𝑙𝑜𝑎𝑑𝑃1
𝐻𝑡𝑡𝑝𝐴𝑣𝑒𝑟𝑎𝑔𝑒𝑇ℎ𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡𝑃1 =
𝑇𝑖𝑚𝑒𝑃1 − 𝑇𝑖𝑚𝑒𝑃0

𝑃𝑎𝑦𝑙𝑜𝑎𝑑𝑃2
𝐻𝑡𝑡𝑝𝐴𝑣𝑒𝑟𝑎𝑔𝑒𝑇ℎ𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡𝑃2 =
𝑇𝑖𝑚𝑒𝑃2 − 𝑇𝑖𝑚𝑒𝑃0

4.3 HTTP POST


Throughput measurement for HTTP Post is measured on TCP level. In order to measure
in TCP level, IP Sniffing service will be running at the background to sniff the HTTP Post
traffic. Those important measurement elements (i.e. KPI Trigger Point, timestamp and
bytes transferred) will be retrieved directly from the captured IP packets by inspecting
all the packets.

4.3.1 HTTP POST Trigger Point


Trigger Point Abstract Description Technical Description

Tr-1 Script activity start TEMS script activity been trigger to start

Tr-2 Start HTTP connection First Syn flag been triggered

Tr-3 Send Operation request First HTTP POST request sent

Operation successfully Received success response


Tr-4
completed

Tr-5 Operation failed Received error response

4.3.2 HTTP POST Operation Event


Events Description Start Trigger End Trigger

HTTP Post Start Script activity started. Tr-1 -

First SYN Operation start Tr-2 -

First SYN ACK Operation received Server SYN ACK Tr-2 -

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 20


OnDevice Http User Manual, Version 1.13
First ACK Operation ACK to Server Tr-2 -

First HTTP POST Operation first HTTP POST request Tr-3 Tr-4

First Packet With Operation received first packet with


Tr-1 Tr-4
Content payload

HTTP Error Operation failed. Tr-1 Tr-5

HTTP End Script activity ended. Tr-1 Tr-4 or Tr-5

4.3.3 HTTP POST Information Element


Information Elements Description

HTTP Post Average Throughput Average throughput for HTTPupload.

HTTP Post File Size Sent Size of file uploaded over HTTP.

HTTP Post File Transfer Time Time taken by the browser to complete the HTTP upload.

HTTP Post Throughput Instantaneous HTTP upload throughput.

4.3.4 HTTP Signaling Diagram (Single Socket)


Diagram below shows the HTTP Post signaling. The normal flow of uploading a file is
as below;
DNS -> TCP Handshake -> POST Request -> Start Transfer -> End

For throughput measurement, it starts measures upon getting the First Uploaded Byte
after the POST Request. From there onwards, throughput will be updated in every
second of interval.

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 21


OnDevice Http User Manual, Version 1.13
TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 22
OnDevice Http User Manual, Version 1.13
4.3.5 HTTP Signaling Diagram (Multiple Sockets)
Diagram below shows the HTTP Post signaling for multiple sockets. The trigger points
are configurable to use either the first connection or the last connection (use last
connection by default).

4.3.5.1 Use last connection as trigger points:

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 23


OnDevice Http User Manual, Version 1.13
4.3.5.2 Use first connection as trigger points:

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 24


OnDevice Http User Manual, Version 1.13
4.3.6 Sample Measurement

4.3.6.1 Application Layer Throughput Uplink


Application Layer Throughput Uplink is the current throughput for the period of 1
second.
𝑃𝑎𝑦𝑙𝑜𝑎𝑑𝑃1
𝐴𝑝𝑝𝑙𝑖𝑐𝑎𝑡𝑖𝑜𝑛𝐿𝑎𝑦𝑒𝑟𝑇ℎ𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡𝑈𝑝𝑙𝑖𝑛𝑘𝑃1 =
𝑇𝑖𝑚𝑒𝑃1 − 𝑇𝑖𝑚𝑒𝑃0

𝑃𝑎𝑦𝑙𝑜𝑎𝑑𝑃2 − 𝑃𝑎𝑦𝑙𝑜𝑎𝑑𝑃1
𝐴𝑝𝑝𝑙𝑖𝑐𝑎𝑡𝑖𝑜𝑛𝐿𝑎𝑦𝑒𝑟𝑇ℎ𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡𝑈𝑝𝑙𝑖𝑛𝑘𝑃2 =
𝑇𝑖𝑚𝑒𝑃2 − 𝑇𝑖𝑚𝑒𝑃1

4.3.6.2 Http Post Average Throughput


Http Post Average Throughput is the average throughput since the First Uploaded
Byte.
𝑃𝑎𝑦𝑙𝑜𝑎𝑑𝑃1
𝐻𝑡𝑡𝑝𝑃𝑜𝑠𝑡𝐴𝑣𝑒𝑟𝑎𝑔𝑒𝑇ℎ𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡𝑃1 =
𝑇𝑖𝑚𝑒𝑃1 − 𝑇𝑖𝑚𝑒𝑃0

𝑃𝑎𝑦𝑙𝑜𝑎𝑑𝑃2
𝐻𝑡𝑡𝑝𝑃𝑜𝑠𝑡𝐴𝑣𝑒𝑟𝑎𝑔𝑒𝑇ℎ𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡𝑃2 =
𝑇𝑖𝑚𝑒𝑃2 − 𝑇𝑖𝑚𝑒𝑃0

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 25


OnDevice Http User Manual, Version 1.13
4.3.1 Supported HTTP GET KPIs
Table below shows the list of supported KPIs for each HTTP solution. Please refer to
the KPI Markers diagram for the Start/Stop Trigger.

✓ - SUPPORT
 - SUPPORT ONLY IF IP Capture Service is available.

KPIs UE Download UE Webkit

1 HTTP IP Service Setup Time Method A  

2 HTTP IP Service Setup Time Method B  

3 HTTP IP Service Access Failure Method A  

4 HTTP IP Service Access Failure Method B  

5 HTTP Data Transfer Time Method A  

6 HTTP Data Transfer Time Method A  

7 HTTP Data Transfer Cutoff Method A  

8 HTTP Data Transfer Cutoff Method B  

9 HTTP Mean Data Rate Method A  

10 HTTP Mean Data Rate Method B  

11 HTTP Service Not Accessible Method A

12 HTTP Service Not Accessible Method B

13 HTTP Setup Time Method A

14 HTTP Setup Time Method B

15 HTTP Technical Browsing Time 

16 HTTP User Browsing Time ✓

17 Application Layer Throughput Downlink ✓

18 Application Layer Received ✓

19 HTTP Throughput ✓

20 HTTP Average Throughput ✓

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 26


OnDevice Http User Manual, Version 1.13
21 HTTP Received ✓

22 HTTP Transfer Time ✓

23 HTTP Connection Initiation ✓ ✓

24 HTTP Time To First Byte  

25 HTTP Silence Time Reached ✓

26 HTTP Minimum Payload Reached ✓

27 HTTP Browsing Start Notified ✓

28 HTTP Browsing Finish Notified ✓

29 HTTP Overall Session Time 

30 HTTP Get Session Time ✓ ✓

31 HTTP IP Service Access Failure Ratio  

32 HTTP IP Service Access Failure Ratio  


Method B

4.3.2 Supported HTTP POST KPIs


Table below shows the list of supported KPIs for each HTTP solution. Please refer to
the KPI Markers diagram for the Start/Stop Trigger.
✓ - SUPPORT
 - SUPPORT ONLY IF IP Capture Service is available.

KPIs HTTP UE

1 HTTP Post IP Service Setup Time Method A 

2 HTTP Post IP Service Access Failure Method A 

3 HTTP Post Data Transfer Time Method A 

4 HTTP Post Data Transfer Cutoff Method A 

5 HTTP Post Mean Data Rate Method A 

6 Application Layer Throughput Uplink ✓

7 Application Layer Sent ✓

8 HTTP Post Throughput ✓

9 HTTP Post Average Throughput ✓

10 HTTP Post File Size Sent ✓

11 HTTP Post File Transfer Time ✓

12 HTTP Post Connection Initiation ✓

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 27


OnDevice Http User Manual, Version 1.13
13 HTTP Post Time To First Byte 

14 HTTP Post Session Time ✓

4.3.3 Supported HTTP GET End Result

✓ - SUPPORT
 - SUPPORT ONLY IF IP Capture Service is available.

HTTP End Result UE Download UE Webkit

1 Service Status ✓ ✓

2 Session Identity ✓ ✓

3 Time Based Measurement ✓ ✓

4 Service Bearer ✓ ✓

5 Date Ratio Bearer ✓ ✓

6 LTE Serving Cell Count Average ✓ ✓

7 Multi Sockets ✓

8 Web Compression Ratio 

9 Limited KPIs ✓ ✓

10 Is Https  

11 Local IP Address  

12 Destination IP Address  

13 Use Last Connection As Full Measurement  

14 Use Last Connection As Time Based  


Measurement

4.3.4 Supported HTTP POST End Result

✓ - SUPPORT
 - SUPPORT ONLY IF IP Capture Service is available.

HTTP End Result HTTP UE

1 Service Status ✓

2 Session Identity ✓

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 28


OnDevice Http User Manual, Version 1.13
3 Time Based Measurement ✓

4 Service Bearer ✓

5 Date Ratio Bearer ✓

6 LTE Serving Cell Count Average ✓

7 Multi Sockets ✓

8 Limited KPIs ✓

9 Is Https 

10 Local IP Address 

11 Destination IP Address 

12 Use Last Connection As Full Measurement 

13 Use Last Connection As Time Based 


Measurement

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 29


OnDevice Http User Manual, Version 1.13
5 Highlights
5.1 Limitations
Limitations

1 Result produced from the testing without IP Capture Service are all derived from application
level. The accuracy will be degraded compare to the result measured with IP Capture Service.

2 Residual packets can propagate to the following activity causing mixed traffic, particularly during
bad network conditions but has also been observed to happen on good network conditions as
well.
Solution to this issue remains out of reach and ODM is entirely reliant on the Android OS to
close the connection when instructed to by ODM.

TEMS™ – now part of InfoVista www.infovista.com | www.tems.com | 30


OnDevice Http User Manual, Version 1.13

You might also like