@@ -78,9 +78,13 @@ events {
7878http {
7979 %%TEST_GLOBALS_HTTP%%
8080
81+ # lua_load_resty_core off;
82+
8183 log_format connect '$remote_addr - $remote_user [$time_local] "$request" '
8284 '$status $body_bytes_sent var:$connect_host-$connect_port-$connect_addr '
83- 'resolve:$proxy_connect_resolve_time,connect:$proxy_connect_connect_time,';
85+ 'resolve:$proxy_connect_resolve_time,'
86+ 'connect:$proxy_connect_connect_time,'
87+ 'fbt:$proxy_connect_first_byte_time,';
8488
8589 access_log %%TESTDIR%%/connect.log connect;
8690 error_log %%TESTDIR%%/connect_error.log error;
@@ -139,6 +143,27 @@ http {
139143 access_log off;
140144 return 200 "8081 server";
141145 }
146+
147+ # for $proxy_connect_first_byte_time testing
148+ server {
149+ access_log off;
150+ listen 8082;
151+ rewrite_by_lua '
152+ ngx.sleep(1)
153+ ngx.say("8082 server fbt")
154+ ';
155+
156+ }
157+ server {
158+ access_log off;
159+ listen 8083;
160+ rewrite_by_lua '
161+ ngx.sleep(0.5)
162+ ngx.say("8083 server fbt")
163+ ';
164+
165+ }
166+
142167}
143168
144169EOF
@@ -197,6 +222,16 @@ like($log, qr/"CONNECT non-existent-domain.com:8081 HTTP\/1.1" 502 .+ resolve:-,
197222$errlog = http_get(' /connect_error.log' );
198223like($errlog , qr / proxy_connect: non-existent-domain.com could not be resolved .+Host not found/ , ' test error.log for 502 respsone' );
199224
225+ # test first byte time
226+ # fbt:~1s
227+ http_connect_request(' 127.0.0.1' , ' 8082' , ' /' );
228+ $log = http_get(' /connect.log' );
229+ like($log , qr / "CONNECT 127.0.0.1:8082 HTTP\/ 1.1" 200 .+ resolve:0\. ...,connect:0\. ...,fbt:1\. ...,/ , ' test first byte time: 1s' );
230+ # fbt:~0.5s
231+ http_connect_request(' 127.0.0.1' , ' 8083' , ' /' );
232+ $log = http_get(' /connect.log' );
233+ like($log , qr / "CONNECT 127.0.0.1:8083 HTTP\/ 1.1" 200 .+ resolve:0\. ...,connect:0\. ...,fbt:0\. 5..,/ , ' test first byte time: 0.5s' );
234+
200235$t -> stop();
201236
202237
0 commit comments