Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Events ¶
type Events struct {
//RequestBefore is function before the request.
RequestBefore func(req *Request, share Share)
//ResponseAfter is function after the response.
ResponseAfter func(res *http.Response, share Share)
}
Events is the custom event in the request.
type Request ¶
type Request struct {
//Req is http.Request.
Req *http.Request
//GoRoutineNo is the current executed goroutine serial number.
GoRoutineNo int
//Index is current executed index.
Index int
}
Request is request info.
type RequestConfig ¶
type RequestConfig struct {
//URLStr is the request of URL.
URLStr string
//Method is the request of method.
Method string
//ReqBody is the request of body.
ReqBody []byte
//Header is the request of header.
Header http.Header
//Events is the custom event in the request.
//Contains the function before the request and the function after the response.
Events *Events
//Timeout is the timeout of request in seconds.
Timeout int
//ThinkTime is the think time of request in seconds.
ThinkTime int
// ProxyAddr is the address of HTTP proxy server in the format on "host:port".
ProxyAddr *url.URL
//HTTP Host header
Host string
//H2 is an option to make HTTP/2 requests.
H2 bool
//DisableCompression is an option to disable compression in response.
DisableCompression bool
//DisableKeepAlives is an option to prevents re-use of TCP connections between different HTTP requests.
DisableKeepAlives bool
//DisableRedirects is an option to prevent the following of HTTP redirects.
DisableRedirects bool
// contains filtered or unexported fields
}
RequestConfig is the request of configuration.
type Result ¶
type Result struct {
//Details is request details.
Details []*ResultDetail
//Duration is the total duration of multiple requests in a transactional request.
Duration time.Duration
}
Result is task result.
type ResultDetail ¶
type ResultDetail struct {
//URLStr is the request of URL.
URLStr string
//Method is the request of method.
Method string
//Err is the error message in the request.
Err error
//StatusCode is the status code for the response.
StatusCode int
//Duration is request duration.
Duration time.Duration
//ConnDuration is connection setup duration.
ConnDuration time.Duration
//DNSDuration is dns lookup duration.
DNSDuration time.Duration
//ReqDuration is request "write" duration.
ReqDuration time.Duration
//ResDuration is response "read" duration.
ResDuration time.Duration
//DelayDuration is delay between response and request.
DelayDuration time.Duration
//ReqBeforeDuration is function before the request duration.
ReqBeforeDuration time.Duration
//ResAfterDuration is function after the response duration.
ResAfterDuration time.Duration
//ContentLength is response content length.
ContentLength int64
}
ResultDetail is request result details.
type Share ¶
type Share map[string]interface{}
Share is a container that is shared in the current transaction, you can access the required content.
type Task ¶
type Task struct {
//Nuber is the total number of requests to send.
Number int
//Concurrent is the concurrent number of requests.
Concurrent int
//Duration is the duration of requests.
Duration time.Duration
//Output is the report output directory.
//The output contains the summary information file and the CSV file for each request.
Output string
//Processing result reporting function.
//If the function is passed in, the incoming function is used to process the report,
//otherwise the default function is used to process the report.
ReportHandler func(results []*Result, totalTime time.Duration)
//Global configuration, if the configuration is not specified in RequestConfig,
//use the settings global configuration.
//Timeout is the timeout of request in seconds.
Timeout int
//ThinkTime is the think time of request in seconds.
ThinkTime int
// ProxyAddr is the address of HTTP proxy server in the format on "host:port".
ProxyAddr *url.URL
//HTTP Host header
Host string
//H2 is an option to make HTTP/2 requests.
H2 bool
//DisableCompression is an option to disable compression in response.
DisableCompression bool
//DisableKeepAlives is an option to prevents re-use of TCP connections between different HTTP requests.
DisableKeepAlives bool
//DisableRedirects is an option to prevent the following of HTTP redirects.
DisableRedirects bool
// contains filtered or unexported fields
}
Task contains the stress test configuration and request configuration.
func (*Task) RunTran ¶
func (t *Task) RunTran(configs ...*RequestConfig) error
RunTran is run a transactional task.
Click to show internal directories.
Click to hide internal directories.