|
1 | | -create table time_taken (time_taken interval); |
2 | | - |
3 | | -create view pg_net_stats as |
4 | | -select |
5 | | - count(*) filter (where error_msg is null) as request_successes, |
6 | | - count(*) filter (where error_msg is not null) as request_failures, |
7 | | - (select error_msg from net._http_response where error_msg is not null order by id desc limit 1) as last_failure_error, |
8 | | - (select time_taken from time_taken limit 1) as time_taken |
9 | | -from net._http_response; |
| 1 | +create table run ( |
| 2 | + requests int, |
| 3 | + batch_size int, |
| 4 | + time_taken interval, |
| 5 | + request_successes bigint, |
| 6 | + request_failures bigint, |
| 7 | + last_failure_error text |
| 8 | +); |
10 | 9 |
|
11 | 10 | -- loadtest using many gets, used to be called `repro_timeouts` |
12 | 11 | create or replace procedure wait_for_many_gets(number_of_requests int default 10000, url text default 'http://localhost:8080') as $$ |
13 | 12 | declare |
14 | 13 | last_id bigint; |
15 | 14 | first_time timestamptz; |
16 | 15 | second_time timestamptz; |
17 | | - time_taken interval; |
| 16 | + |
| 17 | + request_successes bigint; |
| 18 | + request_failures bigint; |
| 19 | + last_failure_error text; |
18 | 20 | begin |
19 | 21 | delete from net._http_response; |
20 | 22 |
|
|
33 | 35 |
|
34 | 36 | select clock_timestamp() into second_time; |
35 | 37 |
|
36 | | - select age(second_time, first_time) into time_taken; |
| 38 | + select |
| 39 | + count(*) filter (where error_msg is null), |
| 40 | + count(*) filter (where error_msg is not null), |
| 41 | + (select error_msg from net._http_response where error_msg is not null order by id desc limit 1) |
| 42 | + into request_successes, request_failures, last_failure_error |
| 43 | + from net._http_response; |
37 | 44 |
|
38 | | - insert into time_taken values (time_taken); |
| 45 | + insert into run values ( |
| 46 | + number_of_requests, current_setting('pg_net.batch_size')::int, age(second_time, first_time), |
| 47 | + request_successes, request_failures, last_failure_error); |
39 | 48 | end; |
40 | 49 | $$ language plpgsql; |
0 commit comments