mirror of
https://github.com/percona/pg_stat_monitor.git
synced 2026-02-04 14:06:20 +00:00
PG-451: Fix regression failures in main branch.
Regression was failing in main branch after merging REL_1_STABLE. Changes to stablise the regression are summarised below. Updated following TAP testcase with 'where' clause for filtering GUC specific row from settings view. Intention is to fetch only GUC value and test it. 1) t/001_settings_default.pl 2) t/002_settings_pgsm_track_planning.pl 3) t/003_settings_pgms_extract_comments.pl 4) t/004_settings_pgsm_track.pl 5) t/005_settings_pgsm_enable_query_plan.pl 6) t/006_settings_pgsm_overflow_target.pl 7) t/007_settings_pgsm_query_shared_buffer.pl 8) t/008_settings_pgsm_histogram_buckets.pl 9) t/009_settings_pgsm_histogram_max.pl 10) t/010_settings_pgsm_histogram_min.pl 11) t/011_settings_pgsm_bucket_time.pl 12) t/012_settings_pgsm_max_buckets.pl 13) t/013_settings_pgsm_normalized_query.pl 14) t/014_settings_pgsm_track_utility.pl 15) t/015_settings_pgsm_query_max_len.pl 16) t/016_settings_pgsm_max.pl Updated following expected files for TAP testcase where testcase was updated with 'where' clause to filter GUC specific row only from settings view. 1) t/expected/001_settings_default.out 2) t/expected/002_settings_pgsm_track.outanning.out 3) t/expected/003_settings_pgms_extract_comments.out 4) t/expected/004_settings_pgsm_track.out 5) t/expected/005_settings_pgsm_enable_query.out 6) t/expected/006_settings_pgsm_overflow_target.out 7) t/expected/007_settings_pgsm_query_shared_buffer.out 8) t/expected/008_settings_pgsm_histogram_buckets.out 9) t/expected/009_settings_pgsm_histogram_max.out 10) t/expected/010_settings_pgsm_histogram_min.out 11) t/expected/011_settings_pgsm_bucket_time.out 12) t/expected/012_settings_pgsm_max_buckets.out 13) t/expected/013_settings_pgsm_normalized_query.out 14) t/expected/014_settings_pgsm_track_utility.out 15) t/expected/015_settings_pgsm_query_max_len.out 16) t/expected/016_settings_pgsm_max.out 17) t/expected/017_execution_stats.out Updated expected files for following sql based testcases due to changed default value of pgsm_normalized_query. 1) error_insert_1.out 2) guc_1.out 3) top_query_1.out Enabled GUC pgsm_normalized_query to 'yes' for following testcases. 1) t/024_check_timings.pl 2) t/025_compare_pgss.pl 3) t/026_shared_blocks.pl Added the output file for histogram testcase to accomodate behaviour. Changes suggested by Ibrar to make regression more modular (PG-440), are also made part of regression so those these can used for future improvements. Removed commented/unneeded steps from t/017_execution_stats.pl. Updated testcase tags.sql and output file tags.out to accomodate enabling of pgsm_extract_comments to yes. Updated error_1.out output file with required output, it was overwritten in one of previous commits. Updated test condition (count of calls and bucket) in t/023_missing_queries.pl as per comment from Ibrar in PG-461 where PGSM does not track the pg_sleep in some cases.
This commit is contained in:
73
regression/expected/histogram_2.out
Normal file
73
regression/expected/histogram_2.out
Normal file
@@ -0,0 +1,73 @@
|
||||
CREATE OR REPLACE FUNCTION generate_histogram()
|
||||
RETURNS TABLE (
|
||||
range TEXT, freq INT, bar TEXT
|
||||
) AS $$
|
||||
Declare
|
||||
bucket_id integer;
|
||||
query_id text;
|
||||
BEGIN
|
||||
select bucket into bucket_id from pg_stat_monitor order by calls desc limit 1;
|
||||
select queryid into query_id from pg_stat_monitor order by calls desc limit 1;
|
||||
--RAISE INFO 'bucket_id %', bucket_id;
|
||||
--RAISE INFO 'query_id %', query_id;
|
||||
return query
|
||||
SELECT * FROM histogram(bucket_id, query_id) AS a(range TEXT, freq INT, bar TEXT);
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
CREATE OR REPLACE FUNCTION run_pg_sleep(INTEGER) RETURNS VOID AS $$
|
||||
DECLARE
|
||||
loops ALIAS FOR $1;
|
||||
BEGIN
|
||||
FOR i IN 1..loops LOOP
|
||||
--RAISE INFO 'Current timestamp: %', timeofday()::TIMESTAMP;
|
||||
RAISE INFO 'Sleep % seconds', i;
|
||||
PERFORM pg_sleep(i);
|
||||
END LOOP;
|
||||
END;
|
||||
$$ LANGUAGE 'plpgsql' STRICT;
|
||||
CREATE EXTENSION pg_stat_monitor;
|
||||
SELECT pg_stat_monitor_reset();
|
||||
pg_stat_monitor_reset
|
||||
-----------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
Set pg_stat_monitor.pgsm_track='all';
|
||||
select run_pg_sleep(5);
|
||||
INFO: Sleep 1 seconds
|
||||
INFO: Sleep 2 seconds
|
||||
INFO: Sleep 3 seconds
|
||||
INFO: Sleep 4 seconds
|
||||
INFO: Sleep 5 seconds
|
||||
run_pg_sleep
|
||||
--------------
|
||||
|
||||
(1 row)
|
||||
|
||||
SELECT substr(query, 0,50) as query, calls, resp_calls FROM pg_stat_monitor ORDER BY query COLLATE "C";
|
||||
query | calls | resp_calls
|
||||
---------------------------------------------------+-------+-----------------------
|
||||
SELECT pg_sleep(i) | 4 | {0,0,0,0,0,0,3,1,0,0}
|
||||
SELECT pg_sleep(i) | 1 | {0,0,0,0,0,0,0,1,0,0}
|
||||
SELECT pg_stat_monitor_reset() | 1 | {1,0,0,0,0,0,0,0,0,0}
|
||||
SELECT substr(query, 0,50) as query, calls, resp_ | 1 | {1,0,0,0,0,0,0,0,0,0}
|
||||
Set pg_stat_monitor.pgsm_track='all' | 1 | {1,0,0,0,0,0,0,0,0,0}
|
||||
select run_pg_sleep(5) | 1 | {0,0,0,0,0,0,0,0,1,0}
|
||||
(6 rows)
|
||||
|
||||
select * from generate_histogram();
|
||||
range | freq | bar
|
||||
--------------------+------+--------------------------------
|
||||
(0 - 3)} | 0 |
|
||||
(3 - 10)} | 0 |
|
||||
(10 - 31)} | 0 |
|
||||
(31 - 100)} | 0 |
|
||||
(100 - 316)} | 0 |
|
||||
(316 - 1000)} | 0 |
|
||||
(1000 - 3162)} | 3 | ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|
||||
(3162 - 10000)} | 1 | ■■■■■■■■■■
|
||||
(10000 - 31622)} | 0 |
|
||||
(31622 - 100000)} | 0 |
|
||||
(10 rows)
|
||||
|
||||
DROP EXTENSION pg_stat_monitor;
|
||||
Reference in New Issue
Block a user