I need a Clarification for http_req_sending and http_req_receiving metrics.
Following is the network traffic flow,
As per the above traffic flow,
http_req_sending = should be the value for #1
http_req_receiving → should be the value for #6
http_req_waiting = #2 +# 3 + #4 + #5
Could you please confirm that my understanding is correct for the above metrics?
your overview of a simple case is right but you’ve to consider that in real scenarios you probably will get more concurrency making the order not so linear. For example, potentially,
6 could start before
5 have been completed but this really depends on the implementation. For this reason, if you need accurate metrics for your backend components then you need to trace them.
http_req_sending = The time elapsed between the first byte has been sent from k6 and when the latest byte has been declared sent from the Go net library.
http_req_receiving = The time elapsed between the first byte received and when the entire request has been declared completed.
http_req_waiting = The time elapsed between request sending is completed and when the first byte of the response has been received.