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.