HTTP Functions¶
emulation http profile config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
This is a Spirent Extension created to configure, modify, or delete a load, client, or server profile for HTTP testing.
HTTP testing is the core of application layer network testing. To test HTTP with Spirent HLTAPI, you begin by setting up a load profile, an HTTP client profile, and an HTTP server profile. A load profile configures the amount of network traffic to generate for a test. An HTTP client profile defines the type of user behavior that you want all HTTP clients to emulate. An HTTP server profile defines the HTTP server to emulate.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation http profile config
mode= {create | modify | delete} M
profile_type= {load | client | server} M
body_content_type= {ascii | binary}
body_size_type= {fixed | random}
enable_delayed_ack= {true | false}
enable_keep_alive= {true | false}
enable_pipeline= {true | false}
enable_video_client= {true | false}
enable_video_server= {true | false}
fixed_body_size= <0-4294967295>
fixed_response_latency= <0-4294967295>
http_version= {version_1_0 | version_1_1}
ipv4_tos= <0-255>
ipv6_traffic_class= <0-255>
load_type= {connections | connections_per_time_unit | transactions |
transactions_per_time_unit | bandwidth | playlists}]
max_connections_attempted= <0-4294967295>
max_open_connections= <0-4294967295>
max_pipeline_depth= <1-255>
max_transactions_attempted= <0-4294967295>
profile_handle= <handle>
profile_name= <ALPHANUM>
random_body_size_mean= <0-4294967295>
random_body_size_std_deviation= <0-4294967295>
random_latency_mean= <0-4294967295>
random_latency_std_deviation= <0-4294967295>
randomization_seed= <0-4294967295>
response_timing_type= {fixed | random}
rx_window_limit= <0-4294967295>
server_port_num= <1-65535>
server_sliding_window_play_list_size= <3-100>
server_target_duration= <5-15>
server_type= {microsoft_iis | apache}
tos_type= {tos| diffserv}
user_agent_header= <ALPHANUM>
use_dynamic_load= {true | false}
video_client_video_type= {VOD| LIVE}
video_client_bitrate_alg= {smart | normal | constant}
video_client_predef_method= {minimum | median | maximum}
video_client_start_bitrate= {predefine | userdefine}
video_client_type= {spirent_hls}
video_client_user_def_value= <40-4096>
video_client_view_time= <0-4294967295>
video_server_bitrate_list= {br_64 | br_96 | br_150 | br_240 | br_256
| br_440 | br_640 | br_800 | br_840 | br_1240}]
video_server_stream_type= {adaptive_bitrate | progressive}
video_server_type= {live_streaming}
video_server_version= {version_1_0}
Arguments:
mode
Specifies the action to perform. This argument is `Mandatory`.
Possible values are::
create Creates the kind of profile specified by type. You must
specify profile_type.
modify Modifies the specified profile
delete Deletes the specified profile
profile_type
Specifies the type of profile to be created. This argument is
`Mandatory`. Possible values are described below::
load_profile HTTP load profile that determines the
traffic pattern in which the load is
generated for the test phase
client_profile HTTP client profile configuration
server_profile HTTP server profile configuration
body_content_type
Specifies the body content type for server responses. Possible
values are ASCII and Binary. The default is ASCII.
body_size_type
Specifies the method to determine body size for server responses.
Possible values are::
fixed
Use the value you specify in fixed_body_size
random
Use a random value generated based on the range
specified by both random_body_size_mean and
random_body_size_std_deviation
The default is fixed.
burst_time
The duration of the burst. This argument is only valid when
load_pattern is set to burst. The unit is determined by the
duration_units argument. Possible values range from 0
to 40000000. The default is 20.
enable_delayed_ack
Enables/disables delayed acknowledgment (ACK) on TCP connections.
Use profile_type to specify whether it is for a an HTTP
client or a server. Possible values are true (enable) and false
(disable). The default is false.
enable_keep_alive
Determines whether to keep the connection open after the initial
request is accepted. Possible values are true and false. If it is
set to true, Spirent HLTAPI will keep the connection open after the
initial request is accepted. The default is true.
enable_pipeline
Determines whether to allow the client to issue multiple
requests to the HTTP server. This argument is only valid when
enable_keep_alive is set to true. Possible values are true and
false. The default is true.
enable_video_client
Enables/disables video for the HTTP client. Possible values are
true (enable) and false (disable). The default is false.
enable_video_server
Enables/disables video for the HTTP server. Possible values are
true (enable) and false (disable). The default is false.
fixed_body_size
The response's body size in bytes for a fixed body size type.
This argument is only valid when you set body_size_type to
fixed. Possible values range from 0 to 4294967295. The default is
64.
fixed_response_latency
The delay in milliseconds before the server sends a response for
a fixed response timing type. You must set response_timing_type
to fixed. Possible values range from 0 to 4294967295. The default
is 0.
http_version
Specifies the HTTP version to be used by the server. Possible
values are::
version_1_0 HTTP version 1.0
version_1_1 HTTP version 1.1
The default is version_1_1.
ipv4_tos
Specifies the Type of Service (TOS) settings to use for IPv4
Layer 4/7 traffic. Use profile_type to specify whether it is for
a client or a server. Possible values range from 0 to 255. The
default is 192.
ipv6_traffic_class
Specifies the traffic class settings to use for IPv6 Layer
4/7 traffic. Use profile_type to specify whether it
is for a client or a server. Possible values range from 0 to 255.
The default is 0.
load_type
Specifies the type of traffic that is measured for the load.
Possible values are::
connections The number of simultaneous network
connections generated
connections_per_time_unit The number of new connections to
be opened in a given time unit,
regardless of the number of
connections currently open
transactions The number of simultaneous
transactions generated
transactions_per_time_unit The number of transactions per time
unit for the duration of the test
bandwidth The load in terms of bandwidth,
sent on a besteffort basis
playlists Protocol playlists
The default is connections.
max_connections_attempted
The upper limit for the number of connection attempts that are
made throughout the test. Possible values range from 0 to
4294967295. The default is 4294967295.
max_open_connections
The upper limit for the number of open connections throughout the
test. Possible values range from 0 to 4294967295. The default is
4096.
max_pipeline_depth
Maximum depth of the HTTP request pipeline. This argument is only
valid when enable_pipeline is set to true. Possible values range
from 1 to 255. The default is 8.
max_transactions_attempted
The upper limit for the number of transaction attempts that are
made throughout the test. Possible values range from 0 to
4294967295. The default is 4294967295.
profile_handle
Specifies the profile handle
profile_name
Specifies the name of the profile
random_body_size_mean
Mean size of the response body when body_size_type is set to
random. You must set body_size_type to random. Possible values
range from 0 to 4294967295. The default is 0.
random_body_size_std_deviation
Standard deviation of the response body size for a random body
size type. You must set body_size_type to random. Possible
values range from 0 to 4294967295. The default is 0.
random_latency_mean
The delay before the server sends a response for a random
response timing type. You must set response_timing_type to
random. Possible values range from 0 to 4294967295. The default
is 0.
random_latency_std_deviation
Standard deviation of the response latency for a random response
timing type. You must set response_timing_type to random.
Possible values range from 0 to 4294967295. The default is 0.
randomization_seed
A number to define the heights in the random phases of the test.
If the value is zero, the seed is determined by the time the test
is executed. Possible values range from 0 to 4294967295. The
default is 123456.
response_timing_type
The timing type which determines the time that the server will
wait before sending a response. Possible values are::
fixed Use the value you specify in fixed_response_latency
random Use a random value generated based on the range
specified by both random_latency_mean and
random_latency_std_deviation
The default is fixed.
rx_window_limit
Maximum size of the receive window for TCP connections. Use
profile_type to specify whether it is for a client or a server.
Possible values range from 0 to 4294967295. The default is 32768.
server_port_num
Port number to use on the server. Possible values range from 1 to
65535. The default is 80.
server_sliding_window_play_list_size
The sliding window playlist size to use for live video. When the
number of fragments passes the size of the sliding window, the
media sequence number is incremented.
Values: 3-100
Default: 8
server_target_duration
Video server target duration in seconds
Values: 5 - 15
Default: 10
server_type
Specifies the HTTP server type to use. Possible values are
Microsoft_IIS and Apache. The default is Microsoft_IIS.
tos_type
Specifies the formatting of the Quality of Service (QoS) value.
Possible values are::
tos Type of Service
diffserv Differentiated Services
The default value is tos.
user_agent_header
A description of the simulated client vendor
use_dynamic_load
Determines whether to allow the load to be changed dynamically
during the test. This argument is only valid when load_type is
set to bandwidth. If it is set to true, the HTTP load phase
configured in the ``emulation http phase config`` function will
not work. Possible values are true and false. The default is
false.
video_client_bitrate_alg
Specifies the bitrate algorithm for the HTTP client. Possible
values are::
smart The client starts playing the stream at the
starting bitrate. It determines the
upshift and downshift thresholds by calculating the
available bandwidth using the time it took to
download the previous fragment, and selecting the
bitrate that is closest to that value, without
exceeding it. (If the bandwidth is below the minimum
bitrate, then the minimum bitrate is used.)
normal The client starts playing the stream at the starting
bitrate specified by video_client_start_bitrate. It
then uses the upshift and downshift to
increase or decrease the bitrate level by one.
constant The client plays the stream at the starting
bitrate throughout the session.
The default value is smart.
video_client_predef_method
Specifies the predefined method with which you get the starting
bitrate value. You must set video_client_start_bitrate
to predefine. Possible values are minimum, median, and maximum.
The default value is minimum.
video_client_start_bitrate
Specifies the method to determine the starting bitrate at the HTTP
client. Possible values are::
predefine Use the starting bitrate generated based on the
method set in video_client_predef_method
userdefine Use the value specified by video_client_user_def_value
The default is predefine.
video_client_type
Specifies the video client type. You must set
enable_video_client to true. The available option is
spirent_hls. Spirent HTTP Live Streaming (HLS) is a Spirent
standard in adaptive bitrate video. The default value is
spirent_hls.
video_client_video_type
Specifies the client video type for the HTTP client profile.
Possible values are::
VOD Streaming method used to deliver content on demand
LIVE Streaming method used to deliver ongoing, live content
The default value is VOD.
video_client_user_def_value
Specifies the userdefined starting bitrate in kbps. You must set
video_client_start_bitrate to userdefine. Possible values range
from 40 to 4096. The default value is 128.
video_client_view_time
Specifies the view time for the video client. This argument is
only available when video_client_type is set to live. Possible
values range from 0 to 4294967295. The default is 60.
video_server_bitrate_list
A list of bitrates for the video server. Possible values are
br_64, br_96, br_150, br_240, br_256, br_440, br_640, br_800,
br_840, and br_1240. The default value is br_64.
video_server_stream_type
Specifies the video streaming type for the HTTP server profile.
Possible values are::
adaptive_bitrate Detects a user's available bandwidth in real
time and calibrates the video stream accordingly
progressive Transfers digital media files from a server
to a client, typically using the HTTP
protocol when initiated from a computer. The
user may begin playback of the media
before the download is complete.
The default value is adaptive_bitrate.
video_server_type
Specifies the video server type for the HTTP server profile. The
available type is live_streaming. The default value is
live_streaming.
video_server_version
Specifies the video server version for the HTTP server profile.
The available option is version_1_0. The default value is
version_1_0.
Arguments Unsupported by Save as HLTAPI:
None
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
load_profile_handle The load profile handle client_profile_handle The HTTP client profile handle server_profile_handle The HTTP server profile handle status Success (1) or failure (0) of the operation log An error message (if the operation failed)
- Description:
The emulation http profile config creates, modifies, or deletes a load, client, or server profile for HTTP testing. Use mode to specify the action to perform, and use profile_type specify the type of profile to be created.
Before configuring HTTP on the specified devices, you must create all three types of profiles. The corresponding profiles will be contained in the keyed list returned by the function.
Examples:
To create an HTTP load profile:
set result [emulation http profile config mode=create profile_type= load profile_name= http_load max_connections_attempted= 100 max_open_connections= 20 max_transactions_attempted= 30 load_type= connections_per_time_unit randomization_seed= 100000]Sample Output:
{load_profile_handle clientloadprofile1} {status 1}To create an HTTP client profile:
set result [emulation http profile config mode=create profile_type= client profile_name= http_client http_version= version_1_0 enable_keep_alive= true enable_pipeline= true enable_video_client= false max_pipeline_depth= 10 video_client_start_bitrate= userdefine video_client_bitrate_alg= normal video_client_view_time= 61 video_client_user_def_value= 128 video_client_predef_method= median video_client_type= spirent_hls video_client_video_type= live user_agent_header= "abc123 456der"]Sample Output:
{client_profile_handle clientprofile1} {status 1}To create an HTTP server profile:
set result [emulation http profile config mode=create profile_type= server profile_name= http_server body_content_type= binary body_size_type= fixed http_version= version_1_0 server_type= apache fixed_body_size= 128 fixed_response_latency= 1 response_timing_type= fixed tos_type= tos ipv4_tos= 64 rx_window_limit= 32769 enable_delayed_ack= true video_server_stream_type= progressive video_server_type= live_streaming server_video_length= 61 video_server_version= version_1_0 server_media_seq_num= 2 server_target_duration= 11 server_sliding_window_play_list_size= 10 server_port_num= 80 ]Sample Output:
{server_profile_handle serverprofile1} {status 1}
emulation http config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- A Spirent Extension created to configure, modify or delete an HTTP client/server on the specified device
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation http config
mode= {create|modify|delete} M
http_type= {client|server} M
client_profiles= <handle>
connected_server= <handle>
device_handle= <handle>
dynamic_load= <1-1000000>
endpoint_connection_pattern= {pair | backbone_src_first |
backbone_dst_first | backbone_interleaved}]
load_profiles= <handle>
max_request_per_client= <1-4294967295>
max_simultaneous_clients= <1-4294967295>
max_transactions_per_server= <1-4294967295>
port_handle= <handle>
server_profiles= <handle>
Arguments:
mode
Specifies the action to be performed. This argument is `Mandatory`.
Possible values are::
create Enables the HTTP configuration on the device
modify Modifies the HTTP configuration on the specified device
deletes Deletes the HTTP configuration on the specified device
http_type
Specifies the type of HTTP to be configured. This argument is
`Mandatory`. Possible values are client::
client HTTP client
server HTTP server
The default is client.
client_profiles
Specifies the client profile handle returned by the
``emulation http profile config`` function
connected_server
Specifies the device handle, on which the HTTP server is configured
device_handle
Specifies the device handle. This argument is `Mandatory` when
mode is set to modify or delete.
dynamic_load
Load value in units of the load profile, only used when
use_dynamic_load is set to true. Possible values range from 1 to
1000000. The default is 30.
endpoint_connection_pattern
Specifies the method to associate endpoints
Possible values are::
pair Pair connections
backbone_src_first Backbone connections, varying the
source address first
backbone_dst_first Backbone connections, varying the
destination address first
backbone_interleaved Backbone connections, interleaving
source and destination addresses
The default value is pair.
load_profiles
Specifies the load profile handle returned by the
``emulation http profile config`` function
max_request_per_client
Maximum number of requests from a single client. Possible values
range from 1 to 4294967295. The default is 10.
max_simultaneous_clients
Maximum number of simultaneous clients supported by the server.
Possible values range from 1 to 4294967295. The default is
4294967295.
max_transactions_per_server
Maximum number of transactions between a single client and
server. Possible values range from 1 to 4294967295. The default
is 10.
port_handle
Specifies the port handle. If mode is set to create and
device_handle is not specified, it will create a device with
default values from Spirent TestCenter.
server_profiles
Specifies the server profile returned by the
``emulation http profile config`` function.
Arguments Unsupported by Save as HLTAPI:
None
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
device_handle The handle of the default device created by port_handle. Only returned when device_handle is not available. client_handle HTTP client handle server_handle HTTP server handle status Success (1) or failure (0) of the operation log An error message (if the operation failed)
- Description:
The
emulation http config
function creates, modifies, or deletes an emulated HTTP client/server on the specified device. Use mode to specify the action to perform, and use http_type to specify whether you want to configure an HTTP server or HTTP client. (See Arguments for more information.)Before enabling HTTP server/client on the specified devices, make sure there are already HTTP server/client/load profile handles returned by the
emulation http profile config
function.
Examples:
To configure an HTTP client on the specified device:
set result [emulation http config mode=create port_handle= $port1 http_type= client client_profiles= $client_profile load_profiles= $load_profile device_handle= $intf1 max_transactions_per_server= 20 connected_server= $intf2]Sample Output:
{client_handle httpclientprotocolconfig1} {status 1}To configure an HTTP server on the specified device:
set result [emulation http config mode=create port_handle= $port2 http_type= server max_request_per_client= 20 server_profiles= $server_profile max_simultaneous_clients= 10 device_handle= $intf2]Sample Output:
{server_handle httpserverprotocolconfig1} {status 1}
emulation http phase config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- A Spirent Extension created to configure, modify, or delete phases for http load profiles. An HTTP test consists of a sequence of phases defined in a load profile.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation http phase config
mode= {create | modify | delete} M
burst_time= <0 - 40000000>
pause_time= <0 - 40000000>
period= <0 - 10000>
profile_handle= <handle>
phase_handle= <handle>
phase_name= <ALPHANUM>
load_pattern= {stair | flat | burst | sinusoid | random | sawtooth}
duration_units= {milliseconds | seconds | minutes | hours}
height= <0 - 10000000>
ramp_time= <0 - 40000000>
repetitions= <0 - 100>
steady_time= <0 - 40000000>
Arguments:
mode
Specifies the action to be performed. This argument is `Mandatory`.
Possible values are::
create Creates the load phase under the specified profile handle
modify Modifies the specified load phase
deletes Deletes the specified load phase
burst_time
The duration of the burst, in the unit determined by the
duration_units argument. This argument is only valid when
load_pattern is set to burst. Possible values range from 0 to
40000000. The default is 20.
duration_units
The unit of time for the load generation of the specified phase.
Possible values are seconds, milliseconds, minutes, and hours.
The default is seconds.
height
The total amount of load related to the load type. Possible
values range from 0 to 10000000. The default is 30.
load_pattern
Determines the traffic pattern in which the load is generated for
the test phase. Possible values are::
stair Controls the workload as it climbs or descends
through a series of steps
flat Holds the amount of load steady
burst Introduces sudden increases (spikes) in a load for
a relatively short period of time, after which the
load decreases
sinusoid Defines an arbitrary curve that represents a neutral
to high workload, then neutral to low, and back to
neutral
random Shows the bounds of where values occur in the workload
sawtooth The ending load height is the same as the beginning
The default value is stair.
profile_handle
Specifies the profile handle on which the HTTP phase is
configured. This argument is `Mandatory` when mode is set to
create.
phase_handle
Specifies the load phase handle to use when phase_mode is set to
modify or delete
phase_name
Specifies the name of the load phase to create
pause_time
The pause time between bursts, in the unit specified by
duration_units. This argument is only valid when -load_pattern
is set to burst or sawtooth. Possible values range from 0 to
40000000. The default is 40.
period
The amount of time to gradually achieve the total load specified
by height. duration_units determines the units for this
attribute. This argument is only valid when load_pattern is set
to sinusoid. Possible values range from 0 to 1000.
ramp_time
The amount of time each step takes to reach the load type applied
to height. duration_units determines the units for this
attribute. This argument is only valid when load_pattern is set
to flat, random or stair. Possible values range from 0 to
40000000. The default is 20.
repetitions
The number of times that you want the pattern to repeat. The
system performs best when you set the values between 1 and 10.
Values above 50 can cause the display to redraw slowly. This
argument is only valid when load_pattern is set to burst, random,
sawtooth, sinusoid or stair. Possible values range from 0 to 100.
The default is 1.
steady_time
The amount of time that the step takes. duration_units determines
the unit for this attribute. This argument is only valid when
load_pattern is flat, random, sawtooth or stair. Possible values
range from 0 to 40000000. The default is 20.
Arguments Unsupported by Save as HLTAPI:
None
- Description:
The
emulation http profile config
function creates, modifies, or deletes load phases for specified HTTP load profiles.In the create mode, one or more HTTP phases can be created for the same load profile and the corresponding phase handles will be returned.
If the creation, modification, or deletion fails, Spirent HLTAPI returns an error message.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
load_phase_handle The load phase handle created status Success (1) or failure (0) of the operation log An error message (if the operation failed)
Examples:
To configure an HTTP phase for the specified HTTP load profile:
set load_profile [keylget result load_profile_handle] set load_phase_handle1 [emulation http phase config mode= create profile_handle= $load_profile phase_name= "phase1" load_pattern= burst repetitions= 1 height= 30 burst_time= 20 pause_time= 40 duration_units= seconds]Sample Output:
{status 1}
emulation http control¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- A Spirent Extension created to starts, stop the configured HTTP traffic, or clear all statistics (transmitted and received counters) of the specified handle
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation http control
mode= {start|stop|clear_stats} M
handle= <handle_list> M
Arguments:
mode
Specifies the action to be performed. This argument is `Mandatory`.
Possible values are::
start Starts the HTTP traffic
stop Stops the HTTP traffic
clear_stats Clears all statistics (transmitted and received
counters) on the specified handle
handle
Specifies a list of client or server handles, which are
returned by the ``emulation http config`` function.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation log An error message (if the operation failed)
- Description:
- The
emulation http control
function starts, stops the HTTP traffic, or clears all statistics of the specified device handle.
Examples:
Sample Input:
set result [emulation http control mode=start handle= "$client $server"]Sample Output:
{status 1}
emulation http stats¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- A Spirent Extension to return HTTP statistics on the specified handle
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation http stats
handle= <handle> M
Arguments:
handle
Specifies the HTTP client/server handle from which HTTP statistics are
retrieved. This argument is `Mandatory`.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation log An error message (if the operation failed)
The following keys are returned when you specify a client handle:
aborted_connections Total number of aborted connections from the client block aborted_connections_per_second Total number of aborted connections per second from the client block aborted_transactions Total number of aborted transactions from the client block aborted_transactions_per_second Total number of aborted transactions per second from the client block active_connections Number of connections open or attempting for this client at this instant attempted_connections Total number of attempted connections from the client block attempted_connections_per_second Total number of attempted connections per second from the client block attempted_transactions Total number of attempted transactions from the client block attempted_transactions_per_second Total number of attempted transactions per second from the client block avg_response_time_per_url_msec Average response time per URL in milliseconds elapsed_seconds Time duration in seconds that this client block instance has been running goodput_avg_rx_rate_bps Average goodput receive rate in bits per second goodput_avg_tx_rate_bps Average transmitted goodput rate in bits per second goodput_max_rx_rate_bps Maximum received goodput rate in bits per second goodput_max_tx_rate_bps Maximum transmitted goodput rate in bits per second goodput_min_rx_rate_bps Minimum received goodput rate in bits per second goodput_min_tx_rate_bps Minimum transmitted goodput rate in bits per second goodput_rx_bps Current received goodput in bits per second goodput_rx_bytes Total received goodput bytes goodput_tx_bps Current transmitted goodput in bits per second goodput_tx_bytes Total transmitted goodput bytes intended_load Intended load max_response_time_per_url_msec Maximum response time per URL in milliseconds min_response_time_per_url_msec Minimum response time per URL in milliseconds rx_response_code_200 Received response codes with a value of 200 rx_response_code_400 Received response codes with a value of 400 rx_response_code_404 Received response codes with a value of 404 rx_response_code_405 Received response codes with a value of 405 successful_connections Total number of successful connections from the client block successful_connections_per_second Total number of successful connections per second from the client block successful_transactions Total number of successful transactions from the client block successful_transactions_per_second Total number of successful transactions per second from the client block sum_response_time_per_url_msec Sum of response times per URL in milliseconds unsuccessful_connections Total number of unsuccessful connections from the client block unsuccessful_connections_per_second Total number of unsuccessful connections per second from the client block unsuccessful_transactions Total number of unsuccessful transactions from the client block unsuccessful_transactions_per_second Total number of unsuccessful transactions per second from the client block
The following keys are returned when you specify a server handle:
active_connections Number of connections open (accepted) for this server at this instant elapsed_seconds Time duration in seconds that this server block has been running goodput_avg_rx_rate_bps Average received goodput rate in bits per second goodput_avg_tx_rate_bps Average transmitted goodput rate in bits per second goodput_max_rx_rate_bps Maximum received goodput rate in bits per second goodput_max_tx_rate_bps Maximum transmitted goodput rate in bits per second goodput_min_rx_rate_bps Minimum received goodput rate in bits per second goodput_min_tx_rate_bps Minimum transmitted goodput rate in bits per second goodput_rx_bps Current received goodput in bits per second goodput_rx_bytes Total received goodput bytes goodput_tx_bps Current transmitted goodput in bits per second goodput_tx_bytes Total transmitted goodput bytes successful_transactions Total number of successful transactions from the server block successful_transactions_per_second Total number of successful transactions per second from the server block total_connections Total number of connections handled by this HTTP server total_connections_per_second Total number of connections per second from the server block tx_response_code_200 Count of transmitted response codes with value 200 tx_response_code_400 Count of transmitted response codes with value 400 tx_response_code_404 Count of transmitted response codes with value 404 tx_response_code_405 Count of transmitted response codes with value 405 unsuccessful_transactions Total number of unsuccessful transactions from the server block unsuccessful_transactions_per_second Total number of unsuccessful transactions per second from the server block
- Description:
The
emulation http stats
function provides statistics for the HTTP emulation. Use handle to specify the HTTP server or client handle from which you want to retrieve the statistics.This function returns the requested data and a status value (1 for success). If there is an error, the function returns the status value (0) and an error message.
Examples:
Sample Input:
set result [emulation http stats handle=$client]Sample Output:
{successful_transactions 2000} {attempted_transactions 2000} {successful_transactions_per_second 0} {rx_response_code_404 0} {max_response_time_per_url_msec 10} {goodput_min_tx_rate_bps 0} {goodput_max_rx_rate_bps 1073536} {attempted_transactions_per_second 0} {avg_response_time_per_url_msec 4} {goodput_avg_rx_rate_bps 491327} {rx_response_code_405 0} {aborted_transactions_per_second 0} {unsuccessful_transactions 0} {goodput_max_tx_rate_bps 303576} {goodput_avg_tx_rate_bps 139617} {aborted_connections_per_second 0} {unsuccessful_connections 0} {active_connections 0} {goodput_rx_bps 0} {sum_response_time_per_url_msec 9301} {goodput_tx_bps 0} {goodput_rx_bytes 635900} {aborted_transactions 0} {successful_connections 100} {intended_load 0} {attempted_connections 100} {successful_connections_per_second 0} {rx_response_code_200 2000} {goodput_tx_bytes 180700} {aborted_connections 0} {attempted_connections_per_second 0} {unsuccessful_transactions_per_second 0} {elapsed_seconds 10} {rx_response_code_400 0} {unsuccessful_connections_per_second 0} {min_response_time_per_url_msec 3} {goodput_min_rx_rate_bps 0} {status 1}#### HLTAPI for Python ####
Sample Input:
result11 = sth.emulation_http_stats (handle = server_handle);Sample Output:
{'status': '1', 'goodput_rx_bytes': '184700', 'active_connections': '0', 'goodput_tx_bytes': '635900', 'total_connections_per_second': '0', 'total_connections': '100', 'tx_response_code_405': '0', 'tx_response_code_404': '0', 'successful_transactions': '2000', 'unsuccessful_transactions': '0', 'goodput_max_rx_rate_bps': '310606', 'goodput_rx_bps': '0', 'goodput_avg_rx_rate_bps': '135497', 'goodput_avg_tx_rate_bps': '466501', 'elapsed_seconds': '10', 'goodput_min_rx_rate_bps': '0', 'goodput_min_tx_rate_bps': '0', 'tx_response_code_400': '0', 'tx_response_code_200': '2000', 'goodput_tx_bps': '0', 'unsuccessful_transactions_per_second': '0', 'successful_transactions_per_second': '0', 'goodput_max_tx_rate_bps': '1069381'}#### HLTAPI for Perl ####
Sample Input:
my %result11 = emulation http stats (handle => $server_handle);Sample Output:
$VAR1 = 'unsuccessful_transactions'; $VAR2 = '0'; $VAR3 = 'goodput_rx_bps'; $VAR4 = '0'; $VAR5 = 'status'; $VAR6 = '1'; $VAR7 = 'successful_transactions'; $VAR8 = '2000'; $VAR9 = 'tx_response_code_404'; $VAR10 = '0'; $VAR11 = 'goodput_rx_bytes'; $VAR12 = '184700'; $VAR13 = 'goodput_min_rx_rate_bps'; $VAR14 = '0'; $VAR15 = 'active_connections'; $VAR16 = '0'; $VAR17 = 'tx_response_code_405'; $VAR18 = '0'; $VAR19 = 'tx_response_code_200'; $VAR20 = '2000'; $VAR21 = 'goodput_avg_rx_rate_bps'; $VAR22 = '132841'; $VAR23 = 'goodput_avg_tx_rate_bps'; $VAR24 = '457358'; $VAR25 = 'goodput_max_rx_rate_bps'; $VAR26 = '303231'; $VAR27 = 'goodput_tx_bps'; $VAR28 = '0'; $VAR29 = 'unsuccessful_transactions_per_second'; $VAR30 = '0'; $VAR31 = 'successful_transactions_per_second'; $VAR32 = '0'; $VAR33 = 'goodput_min_tx_rate_bps'; $VAR34 = '0'; $VAR35 = 'goodput_max_tx_rate_bps'; $VAR36 = '1064304'; $VAR37 = 'total_connections'; $VAR38 = '100'; $VAR39 = 'elapsed_seconds'; $VAR40 = '11'; $VAR41 = 'total_connections_per_second'; $VAR42 = '0'; $VAR43 = 'tx_response_code_400'; $VAR44 = '0'; $VAR45 = 'goodput_tx_bytes'; $VAR46 = '635900';