Commit Graph

548 Commits (1.1.0)

Author SHA1 Message Date
Puneet Kala 22ad698133
PMM-7 Verification with REL 1_1 Branch (#301)
* PMM-7 Verification with REL 1_1 Branch

* PMM-7 Add more timeout

* PMM-7 Changes for v11

* PMM-7 Changes for v12

* PMM-7 Changes for V13

* PMM-7 Increase timeout
2022-09-06 17:44:59 +05:00
Hamid Akhtar 8e4dc948f0 PG-501: Missing Buckets and incorrect calls count.
Ensuring the outer bound for the bucket is an exclusive boundary and it
as it belongs to the next bucket. To explain the point further, a set of
five second bucket would be:
    Bucket 1: 00:00:00.00 -> 00:00:04.99...
    Bucket 2: 00:00:00.05 -> 00:00:09.99...
    Bucket 3: 00:00:00.10 -> 00:00:14.99...
    ...
2022-08-30 21:14:09 +05:00
Muhammad Usama bb5e6a4e88
PG-501: Missing Buckets and incorrect calls count. (#298)
prev_bucket_sec holds the actual time at which the previous bucket was created
and it is used to compute if the previous bucket time has elapsed and when is
the time to create a new one. But since the bucket start time is rounded down
to logical time window start, that makes the prev_bucket_sec and bucket start
time out of sync with each other, and depending on the query arrival time there
is a high probability that a bucket gets missed especially when the last bucket
was created around the end of the bucket time window.

Solution is to keep the prev_bucket_sec and bucket start time in-sync.

Moreover, we are using the unint64 for storing the prev_bucket_sec which is kind
of an overkill and a simple uint should be good enough for the purpose. But that
change can be taken up as part of the create-bucket function refactoring task.
2022-08-29 17:31:01 +05:00
Hamid Akhtar e2d4603a13
PG-500: Bump the version of pg_stat_monitor to 1.1.0 (#297) 2022-08-24 18:42:18 +05:00
Anastasia Alexandrova 1301f96146
PG-481 Release notes 1.1.0 (#294)
modified:   RELEASE_NOTES.md
2022-08-23 23:38:10 +05:00
Ibrar Ahmed af251628b0
Merge pull request #295 from EngineeredVirus/REL_1_1_0
PG-475: Inconsistent behaviour of PGSM
2022-08-23 23:24:02 +05:00
Hamid Akhtar ca771b9ad6 PG-475: Inconsistent behaviour of PGSM
Reverting the bucket locking mechanism to previous behavior. This has
a lot of room for improvement that needs to be part of a major refactoring
in the 2.x release.
2022-08-22 20:35:49 +05:00
Naeem Akhter 3b9e180837
PG-464: Update regression status badges links. (#293)
As per discussion in the team meeting, removed status badges for Pg-11~13 jobs
from README. We should only be displaying the status badges for the latest PG
version (GA) and code coverage.
2022-08-18 14:50:58 +05:00
Naeem Akhter 2069139795
PG-477: Install perl modules in PGSM-PG12 Build workflow. (#292)
Perl tap tests dependencies were missing, those are being installed now.
Furthermore, workflow required some changes to enable logs to be available in
in case of a tap tests failure(s).
2022-08-18 14:50:43 +05:00
Ibrar Ahmed 63bc740a20
Merge pull request #289 from EngineeredVirus/main
PG-476: pg_stat_monitor causing errors : could not read file /tmp/pg_…
2022-08-09 21:22:27 +05:00
Kai Wagner f39e5b2439
Merge pull request #288 from nastena1606/PG-473-Disable-GH-pages-docs
PG-473 Drop docs and disable build on GH pages
2022-08-09 09:43:49 +02:00
Anastasia Alexadrova d499a23bdb PG-473 Drop docs and disable build on GH pages
With the documentation moved to a separate repo, remove the docs from this repository to avoid confusion where to contribute to docs. Also, removing a GH action and unpublishing the GH pages site with the docs being built on Render. Updated README and Contributing guide with the new docs repo.

deleted:    .github/workflows/doc-build.yml
	modified:   README.md
	deleted:    docs/COMPARISON.md
	deleted:    docs/REFERENCE.md
	deleted:    docs/USER_GUIDE.md
	deleted:    docs/_images/percona-favicon.ico
	deleted:    docs/_images/percona-logo.svg
	deleted:    docs/css/percona.css
	deleted:    docs/css/toctree.css
	deleted:    docs/index.md
	deleted:    docs/js/version-select.js
	deleted:    docs/overrides/404.html
	deleted:    docs/setup.md
	deleted:    requirements-doc.txt
2022-08-09 09:00:30 +02:00
Hamid Akhtar a3ad4033e0 PG-476: pg_stat_monitor causing errors : could not read file /tmp/pg_stat_monitor_query: No such file or directory
This only fixes the basic the path issue. It moves the query overflow file
from /tmp to PGSTAT folder data directory.
2022-08-04 13:47:36 +05:00
Hamid Akhtar cd61f9fa27
PG-462: adding PG15 build to our workflows (#287)
Adding SQL file for PG15. Initial version is a replica of PG14 SQL file.
Changes will be required in this file to fully support newly introduced columns
in PG15.

This currently fixes compilation and make install targets.

Also, updated the first line comments where the SQL version was mentioend as
1.1. The version remains at 1.0 for the time being.
2022-08-03 00:13:46 +05:00
Hamid Akhtar af3d91090e
PG-352: pg_stat_monitor: make error when placed under contrib folder (#286)
The Makefile is refactored and unnecessary conditional statements are removed
in favor of handling version separately.

Also, the clean target is updated to remove generated files including results
folder and the ${DATA} file.
2022-08-03 00:13:21 +05:00
Hamid Akhtar 31e3c801a9
PG-376: Enable TAP testing on PG 12 (#285)
This commit does not make any changes to the makefile. It simply ensures that
the test cases work with PG12. Necessary skip statements are added. Makefile
changes are to be done as part refactoring the Makefile.
2022-08-03 00:08:52 +05:00
Naeem Akhter cf1f7a842f
PG-464: Update regression status badges links. (#284)
Updated status badges links in README that were not carrying the correct links, workflows
(Actions) for older links have been removed from repo as those have been
replaced by distribution specific (PGDG and PPG) workflows.
2022-08-02 19:32:29 +05:00
Naeem Akhter 3bed7e675f
PG-418: Cleanup workflows in github. (#283)
1- Removed unsupported options from configure.
2- Reformatted files to break lines at 80 charachters.
3- Moved multiple 'apt install' and rm commands into a single one.
4- All workflows use and install llvm + clang version 11.
5- Updated workflows to ubuntu 22.04 where we are building PG server.
6- Added .vscode folder/files to .gitignore file.
2022-08-01 14:03:10 +05:00
Kai Wagner 326441c530
Merge pull request #282 from LenzGr/add-adopters
PG-206: Add ADOPTERS.md file
2022-07-21 12:23:56 +02:00
Lenz Grimmer c5085c08c5 PG-206: Add ADOPTERS.md file
Added a basic `ADOPTERS.md` placeholder file
for capturing user success stories.

Signed-off-by: Lenz Grimmer <lenz.grimmer@percona.com>
2022-07-21 10:13:05 +02:00
Naeem Akhter 822895a5a4
PG-433: Codecov code coverage with PGSM GH repo (#279)
1) Updated code coverage workflow with required changes so that we point to
Codecov onwards for coverage stats.
2) Updated README.md file so that badge for Code Coverage, points to CodeCov
coverage stats for PGSM.
3) Added .DS_STORE to .gitignore file.
2022-07-06 15:32:38 +05:00
Ibrar Ahmed ccd1306ec3
Merge pull request #278 from Naeem-Akhter/regression_merge_work
PG-451: Fix regression failures in main branch.
2022-07-04 13:15:46 +05:00
Naeem Akhter cd94196316 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.
2022-07-03 04:26:42 +05:00
Kai Wagner b2ba3c5580
Merge pull request #276 from capri1989/cherry-pick-from-stable
Cherry-pick from REL_1_STABLE into main branch
2022-06-30 15:03:41 +02:00
Anastasia Alexandrova fb119cab89 PG-459 Documented changes in setting pgsm sta (#272)
rt time

modified:   docs/USER_GUIDE.md
2022-06-30 10:13:15 +02:00
Anastasia Alexandrova 5fc086896a PG-460 Updated pgsm_normalized_query description (#274)
modified:   docs/USER_GUIDE.md
2022-06-30 10:13:04 +02:00
Ibrar Ahmed a9187117f9
PG-456: Running pgindent to make source PostgreSQL compatible. (#269)
PG-456: Running pgindent to make source indentation/spacing PostgreSQLCompatible.

PostgreSQL uses pgindent from time to time to make source code PostgreSQL
style guide compatible, it is a very long time since we have not done that.
Commit fixes a lot of indentation and spacing issues.

Co-authored-by: Hamid Akhtar <hamid.akhtar@gmail.com>
2022-06-29 00:42:40 +05:00
Ibrar Ahmed 926eade1eb
PG-449: Despite pgsm_extract_comments='no', comments are still visible. (#271)
Check for GUC (pgsm_extract_comments) was missing.
2022-06-29 00:38:37 +05:00
Ibrar Ahmed 14c390d201
Merge pull request #275 from EngineeredVirus/main
[PG-455] PGSM doesn't gather data for some pgsm_bucket_time settings
2022-06-29 00:30:25 +05:00
Hamid Akhtar ebfade5e92 [PG-455] PGSM doesn't gather data for some pgsm_bucket_time settings
Fixing the issue introduced by 7efc3fa.
2022-06-29 00:22:40 +05:00
Kai Wagner 132fdccfd7
Merge pull request #273 from capri1989/PG-457
PG-457: added vim code annotation config example
2022-06-28 12:03:15 +02:00
Kai Wagner ebf940a3c0 PG-457: added vim code annotation config example
Signed-off-by: Kai Wagner <kai.wagner@percona.com>
2022-06-28 09:06:18 +02:00
Kai Wagner f73f3fec09
Merge pull request #270 from Naeem-Akhter/PG-452
PG-452: Remove redundant workflow from PGSM GH main branch.
2022-06-23 12:50:59 +02:00
Naeem Akhter 28d194a26a PG-452: Remove redundant workflow from PGSM GH main branch.
Removed following workflows from main branch.
postgresql-14-package.yml
postgresql-13-package.yml
postgresql-12-package.yml
postgresql-11-package.yml
2022-06-23 13:10:45 +05:00
Ibrar Ahmed 15c73407c3
PG-453: Normalize query does not work with INSERT statements.        … (#268)
PG-453: Normalize query does not work with INSERT statements.                  

The commit fixes the issue similar to pg_stat_statements. Jumble query skips in    
case of INSERT statements to avoid the duplicate queryid, but in another      
commit we already solved that problem with another way.
2022-06-22 11:53:42 +05:00
Ibrar Ahmed 2ba1960c2f
Merge pull request #266 from EngineeredVirus/main
[PG-159] pg_stat_monitor: Bucket start time should be aligned with fi…
2022-06-22 00:00:00 +05:00
Kai Wagner d131040845
Merge pull request #267 from capri1989/PG-437
PG-437: added the how we work section for OneFlow
2022-06-21 10:30:49 +02:00
Kai Wagner ef24c8c324 PG-437: added the how we work section for OneFlow
Signed-off-by: Kai Wagner <kai.wagner@percona.com>
2022-06-21 08:38:54 +02:00
Hamid Akhtar 7efc3fa50e [PG-159] pg_stat_monitor: Bucket start time should be aligned with fix number of seconds
The buckets are now created with the start time a modulus of the bucket time size.
So if we have a 10 second bucket, the start times would reflect that:
- Bucket1: 00:00:00
- Bucket2: 00:00:10
- Bucket3: 00:00:20
...

Previously, the start time of the bucket was aligned with the first query that
arrives in that bucket. However, now the behaviour is changed. So, even if the
first query for bucket 2 arrives at 00:00:13, the start time would still be set
to 00:00:10.

This change now makes the bucketing separated out by fixed time windows so that
external applications can easily consume that data and chart it.

Also, as part of this change, locking of pgss is updated now and extended
to last the bucket related changes.
2022-06-20 17:53:43 +05:00
Ibrar Ahmed 86978bc4ce
Merge pull request #265 from EngineeredVirus/main
Merging the REL_1_STABLE branch onto the main branch.
2022-06-20 17:22:47 +05:00
Hamid Akhtar 053f1d6e56 [PG-436] Completing the merge process by resolving feedback received during
the review process. Updating version to 1.1.0-dev.
2022-06-20 15:53:20 +05:00
Hamid Akhtar cd06be62fd [PG-436] Merging REL_1_STABLE on to the main branch.
Merge remote-tracking branch 'origin/REL_1_STABLE'
2022-06-19 13:42:10 +05:00
Ibrar Ahmed 1f9b1feff6
PG-300: Fix potential duplicate queryid issue. (#262)
There is some potential problem where there is a chance
that we got a duplicate queryid. This patch will eliminate
that problem.
2022-06-17 16:32:55 +05:00
Kai Wagner 454b35e6e1
Merge pull request #260 from nastena1606/PG-370-Release-notes-RC1
PG-370 Release notes PGSM 1.0.0-rc1
2022-06-15 16:58:09 +02:00
Ibrar Ahmed 1ff4891191
PG-439: Remove warning of comparison of unsigned enum expression. (#257) 2022-06-14 18:04:43 +05:00
Anastasia Alexadrova 05df7f0e8e PG-370 Release notes PGSM 1.0.0-rc1 2022-06-14 13:07:01 +03:00
Kai Wagner 55ba2deee1
Merge pull request #259 from puneet0191/PMM-9951-4
PMM-9951 moving integration tests to push
2022-06-13 08:33:00 +02:00
puneet0191 ced7aef0e4 PMM-9951 moving integration tests to push 2022-06-09 18:23:50 +05:30
Puneet Kala 3d64931192
PMM-9951 run the workflow on push temp (#258) 2022-06-09 16:18:18 +05:00
Ibrar Ahmed d5ce83738f
PG-362: pgsm_normalized_query needs to be 0 by default. (#253)
pg_stat_monitor.pgsm_normalized_query needs to be 0 by default because
people will get Query examples. This is one of the main user-faced
advantages of pgsm over pgss (pg_stat_statements).
2022-06-09 16:13:58 +05:00