Commit Graph

748 Commits (ef9518c98e5c61dcc5823c70594b1042b5dbba01)

Author SHA1 Message Date
Naeem Akhter e0cea058ed
PG-568: Add GH Workflow for PGDG-15 and PPG-15 packages. (#343) 2022-12-29 02:28:36 +05:00
Hamid Akhtar b20eda7066 PG-545: pg_stat_monitor: Same query text should generate same queryid
Regardless of the database or the user, the same query will yield the
same query ID. As part of this, a new column, 'pgsm_query_id', is added.

* pgsm_query_id:
pgsm_query_id has the same data type of int8 as the queryid column. If
the incoming SQL command includes any constants, it internally normalizes
the query to remove those constant values with placeholders. Otherwise,
it uses the query directly to generate the query hash.

Since we no longer depend on the server's parse tree mechanism, we can
generate the same hash for the same query text for all server versions.

Also, it is important to note that the hash being calculated is a database,
schema and user independent. So same query text in different databases
will generate the same hash.

This column is not part of the key; rather, for observability purposes only.

* Regression
SQL test case pgsm_query_id.sql is added to the SQL regression.
2022-12-28 14:24:19 +05:00
Ibrar Ahmed f8866272a2
Merge pull request #340 from Naeem-Akhter/PG563
PG-563: Update TAP testcases and output due to changes by DEV.
2022-12-28 10:03:05 +05:00
Naeem Akhter b154da01da PG-563: Update TAP testcases and output due to changes by DEV.
As part of this PR, also updated regression test cases that are related to
following JIRA issues as well.

PG-354	pg_stat_monitor: Remove pg_stat_monitor_settings view
Now we not using pg_stat_monitor_settings view, due to this change majority of
TAP testcase requried output changes.

PG-558: Create test case to verify the function names and count in PGSM.
Added additional output file for SQL test case.

PG-554:	Remove redundant expected output files from regression.
Removed unnecessary output files in TAP testcases where these were not needed.
2022-12-27 18:14:32 +05:00
Naeem Akhter 56001d683f
Merge pull request #324 from ibrarahmad/PG-312
PG-312: Changing the default value of Histogram GUC.
2022-12-24 22:31:39 +05:00
Naeem Akhter d03fb8f0b7
Merge branch 'main' into PG-312 2022-12-24 22:30:23 +05:00
Ibrar Ahmed 96a1d52f08
Merge pull request #339 from Naeem-Akhter/PG-354
PG-354: Update expected output file for functions test case.
2022-12-23 05:22:38 +05:00
Naeem Akhter 0656d5f22d PG-354: Update expected output file for functions testcase. 2022-12-23 01:00:13 +05:00
Ibrar Ahmed 802774a2a7
PG-488: Revert pg_stat_monitor: Overflow management. (#338)
PG-488: Revert pg_stat_monitor: Overflow management.

This patch does not work for  < PostgreSQL - 15. More work required.
2022-12-22 19:15:14 +05:00
Ibrar Ahmed 7c5ad48276
Merge pull request #334 from EngineeredVirus/main
PG-354: pg_stat_monitor: Remove pg_stat_monitor_settings view
2022-12-21 20:34:00 +05:00
Ibrar Ahmed 8dffa8cc97
Merge pull request #336 from codeforall/main
PG-488: pg_stat_monitor: Overflow management.
2022-12-21 00:42:47 +05:00
Muhammad Usama df0580b741 PG-488: pg_stat_monitor: Overflow management.
Reimplement the storage mechanism of buckets and query texts
using Dynamic shared memory. Since the dynamic shared memory
can grow into a swap area, so we get the overflow out of the box.

oreover the new design saves the query pointer inside the bucket
and eventually, the query text gets evicted with the bucket recycle.

Finally, the dynamic shared memory hash has a built-in locking
mechanism so we can revisit the whole locking in pg_stat_monitor
has potential for lots of performance improvements
2022-12-20 17:29:15 +05:00
Naeem Akhter 5a6b824737
PG-373: Update test case - Remove WAL fields for PG12 and below. (#335) 2022-12-14 12:50:29 +05:00
Hamid Akhtar 2917ae6805 PG-354: pg_stat_monitor: Remove pg_stat_monitor_settings view
Removing the view for 2.0. Updating the required SQL files to manage
the upgrade. Downgrade from 2.x to 1.x is not supported.

Also part of this fix is the SQL regression. This does not update the
tap test cases.
2022-12-13 17:05:46 +05:00
Ibrar Ahmed a6099d6a84
Merge pull request #333 from Naeem-Akhter/PG-558
PG-558: Create test case to verify the function names and count in PGSM.
2022-12-13 16:29:52 +05:00
Naeem Akhter 1037fb08a8 PG-558: Create test case to verify the function names and count in PGSM. 2022-12-12 23:11:38 +05:00
Naeem Akhter 5cd4f255d1
Merge pull request #332 from ibrarahmad/PG-373
PG-373: Remove WAL fields for PG12 and below.
2022-12-12 15:17:43 +05:00
Naeem Akhter 2838eaa94d
Merge pull request #331 from ibrarahmad/PGSM-518
PG-518: Internal Functions should NOT be visible in PGSM API.
2022-12-12 15:16:53 +05:00
Ibrar Ahmed 3076d5bf5c PG-373: Remove wal fields for PG12 and below. 2022-12-07 15:03:14 +00:00
Ibrar Ahmed 5ae0f3a0bb PG-518: Internal Functions should NOT be visible in PGSM API. 2022-12-07 14:52:45 +00:00
Muhammad Usama 913064b68d
PG-435: Adding new counters that are available in PG15 (#329)
In line with pg_stat_statments for PG15, This commit adds eight new cumulative
counters for jit operations, making it easier to diagnose how JIT is used in an
installation. And two new columns, temp_blk_read_time, and temp_blk_write_time,
respectively, show the time spent reading and writing temporary file blocks
on disk.
Moreover, The commit also contains a few indentations and API adjustments.
2022-12-07 15:40:13 +05:00
Naeem Akhter 4a254a538b PG-553: Add a testcase to verify columns names in PGSM. 2022-12-01 12:06:08 +05:00
Ibrar Ahmed 354b92b8b6 PG-312: Changing the default value of Histogram GUC. 2022-11-23 14:49:21 +00:00
Ibrar Ahmed f7860b472f
PG-310: Bucket is “Done” vs still being current/last. (#321)
A new column is added to mention that bucket is active or done. there is    
some timing based adjustment was required with that too.   

Co-authored-by: Hamid Akhtar <hamid.akhtar@percona.com>
2022-11-23 02:23:28 +05:00
Naeem Akhter b4ab2ccc84
PG-557: Update PGSM+PMM GH workflows to pick intended target branch. (#323) 2022-11-23 02:22:13 +05:00
Naeem Akhter 8e265b9bfb
PG-556: Fix expected output of test case version. (#322) 2022-11-23 02:21:33 +05:00
Naeem Akhter fe83f56ab7
PG-554: Remove redundant files and fix regression. (#319)
PG-554: Remove reduntant files and fix regression.

Removed old files with same name and add these files to fix sql regression
on PG 14 & 15.

1- regression/expected/error_1.out
2- regression/expected/error_insert_1.out
3- regression/expected/top_query_1.out
2022-11-23 02:20:43 +05:00
Muhammad Usama 2f2c40ed22
PG-555 :Infrastructure to allow multiple SQL APIs (#320)
Creating the infrastructure that'll allow using newer versions
of the loadable module with old SQL declarations.
Also updating the build version to 2.0.0-dev
2022-11-21 18:27:21 +05:00
Naeem Akhter 7f015b5a16
Merge pull request #318 from ibrarahmad/PG544
PG-544: Regression cleanup.
2022-11-17 04:52:54 +05:00
Ibrar Ahmed 1bc14fb759 PG-544: Regression cleanup. 2022-11-16 21:31:16 +00:00
Naeem Akhter 741dea66a8
Merge pull request #317 from ibrarahmad/PG-544
PG-544: Regression cleanup.
2022-11-17 01:18:48 +05:00
Ibrar Ahmed 6643854c47
Merge branch 'percona:main' into PG-544 2022-11-17 01:08:13 +05:00
Naeem Akhter fcb6dac321
Merge pull request #316 from ibrarahmad/PG320
PG-320: Removing the query state code from the view.
2022-11-17 00:56:16 +05:00
Ibrar Ahmed a3830624bb PG-544: Regression cleanup. 2022-11-16 19:47:07 +00:00
Ibrar Ahmed 710103cd0d PG-320: Removing the query state code from the view. 2022-11-16 19:37:15 +00:00
Naeem Akhter 7f743b142a
Merge pull request #315 from ibrarahmad/PG-306
PG-306: The bucket start time should be timestamp instead of TEXT.
2022-11-16 00:44:20 +05:00
Naeem Akhter 2f62ee695b
Merge pull request #314 from ibrarahmad/PG-518
PG-518: Drop the internal function permission from PUBLIC.
2022-11-16 00:44:06 +05:00
Naeem Akhter 4f281a8c12
Merge pull request #313 from ibrarahmad/PG-552
PG-552: Remove unnecessary columns from PostgreSQL 11 and 12 views.
2022-11-16 00:43:50 +05:00
Naeem Akhter bcb1a3b1b8
Merge pull request #312 from ibrarahmad/PG-320
PG-320: Removing the query state code from the view.
2022-11-16 00:43:16 +05:00
Ibrar Ahmed bc19c99c0b PG-306: The bucket start time should be timestamp instead of TEXT. 2022-11-15 18:11:10 +00:00
Ibrar Ahmed a392c98b5c PG-518: Drop the internal function permission from PUBLIC.
It will be a security problem to provide the internal function access to PUBLIC.
This commit will revoke all permission of internal functions from PUBLIC.
2022-11-15 17:45:42 +00:00
Ibrar Ahmed 40afdce2eb PG-552: Remove unnecessary columns from PostgreSQL 11 and 12 views.
There was a typo while checking the PostgreSQL version in the SQL file. This commit
will fix the typo, and only the necessary columns will be visible in the view.
2022-11-15 17:10:42 +00:00
Ibrar Ahmed db5a6aa30e PG-320: Removing the query state code from the view.
The query status monitoring code was used to track the current query state, for example,     
parsing, executing and finishing. After careful review, we have figured out that  
it does not make sense while a lot of time same query is running. Therefore it  
is also consuming resources. This commit will remove that feature. The upgrade
SQL from 1.0 - 2.0 is also updated.
2022-11-15 16:31:37 +00:00
Kai Wagner fddc0967e3
Merge pull request #311 from EngineeredVirus/main
Merging changes back to the main branch after the 1.1.1 release
2022-11-11 10:14:18 +01:00
Puneet Kala 00067680de PMM-7 Adding updates on integration pipelines (#308)
* PMM-7 Fix the github action

* PMM-7 fix version 12

* PMM-7 Fix Typo

* PMM-7 Fix Typo

* PMM-7 Increase timeout

* PMM-7 Increase timeout

* PMM-7 Add support for pgsql13

* PMM-7 Adding support for PG 14

* PMM-7 Increase timer

* PMM-7 Adding integration with PG15

* PMM-7 Handle PG 11 changes

* PMM-7 handle PG 12 changes

* PMM-7 Temp commit for regression

* PMM-7 Adding commit

* PMM-7 UI tests branch

* PMM-7 Revert temp branch

* PMM-7 Revert temp branch

* PMM-7 revert temp branch

* PMM-7 Revert the changes
2022-11-08 23:31:11 +05:00
Kai Wagner 2cef796e92 PG-526: bump version to 1.1.1 and adding release notes
Signed-off-by: Kai Wagner <kai.wagner@percona.com>
2022-11-08 23:31:01 +05:00
Naeem Akhter af2da8885a PG-525: Update PGSM TAP Test Cases to accommodate PG15 changes.
Following changes are included in this commit:

1. Updated pgsm.pm to enable runtime loading of PG server version dependent
perl modules that are needed for TAP testing. Similarly removed unneeded
code from this file that is not needed right now.

2. Added generic settings and helper functions to pgsm.pm that could be used
across different test cases.

3.Updated following TAP test case to use pgsm.pm based global settings and helper
functions while making sure that we reduce the clutter and duplicate code in
test cases, where possible.

t/001_settings_default.pl
t/002_settings_pgsm_track_planning.pl
t/003_settings_pgms_extract_comments.pl
t/004_settings_pgsm_track.pl
t/005_settings_pgsm_enable_query_plan.pl
t/006_settings_pgsm_overflow_target.pl
t/007_settings_pgsm_query_shared_buffer.pl
t/008_settings_pgsm_histogram_buckets.pl
t/009_settings_pgsm_histogram_max.pl
t/010_settings_pgsm_histogram_min.pl
t/011_settings_pgsm_bucket_time.pl
t/012_settings_pgsm_max_buckets.pl
t/013_settings_pgsm_normalized_query.pl
t/014_settings_pgsm_track_utility.pl
t/015_settings_pgsm_query_max_len.pl
t/016_settings_pgsm_max.pl
t/017_execution_stats.pl
t/019_insufficient_shared_space.pl
t/020_buffer_overflow.pl
t/021_misc_1.pl
t/022_misc_2.pl
t/023_missing_queries.pl
t/024_check_timings.pl
t/025_compare_pgss.pl
t/026_shared_blocks.pl
t/027_local_blocks.pl
t/028_temp_block.pl

4. Removed following TAP test cases as these are no longer needed and are
covered by existing other test cases.

0001_settings_pgsm_track_planning.pl
0002_settings_pgsm_enable_query_plan.pl

5. Added more out files for histogram sql test cases to cover the behavior for
bucket_start_time and server versions.

regression/expected/histogram_3.out
regression/expected/histogram_4.out
regression/expected/histogram_5.out
regression/expected/histogram_6.out

6. Added following out file that is PG server version 15 specific.

t/expected/007_settings_pgsm_query_shared_buffer.out.15
2022-11-08 23:30:39 +05:00
Muhammad Usama 0fe9908d5f PG-520 pg_stat_monitor does not work with PG15
PG 15 requires additional shared memory and LWLocks requests to be made from the
newly introduced shmem_request_hook and disallows the requests initiated
from outside the hook.
The commit makes moves the additional shared memory and LWLocks requests
from _PG_init to shmem_request_hook for PG15
2022-11-08 23:30:29 +05:00
Ibrar Ahmed 634f0ce580
PG-174: Code cleanup. (#310)
pg_stat_monitor is a bit longer; therefore, it requires some code cleanup.
Therefore I decided to turn these tasks into multiple commits and PR to avoid
various changes in one PR. This will ease the review and Q/A process.
In this commit, I have done these tasks.

1 - Fixing compilation issue, cause by previous commit, where we removed
the benchmarking code. It was causing problem for PostgreSQL-12.
2022-10-25 01:04:23 +05:00
Hamid Akhtar d7e8a0ae79
Merge pull request #309 from ibrarahmad/PG174
PG-174: Code cleanup.
2022-10-24 23:19:43 +05:00