Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Enhanced query performance monitoring features to track slow queries, examine query execution plans, monitor wait events, and identify blocking sessions. #171

Open
wants to merge 25 commits into
base: epic_db_query_performance_monitoring
Choose a base branch
from

Conversation

spathlavath
Copy link

@spathlavath spathlavath commented Jan 8, 2025

Enhanced query performance monitoring features to track slow queries, examine query execution plans, monitor wait events, and identify blocking sessions.

Co-authored-by:
Srikanth @RamanaReddy8801

@spathlavath spathlavath requested a review from a team as a code owner January 8, 2025 13:46
@CLAassistant
Copy link

CLAassistant commented Jan 8, 2025

CLA assistant check
All committers have signed the CLA.

@spathlavath spathlavath changed the title feat: Introducing query performance monitoring for slow queries, query execution plan, wait events and blocking sessions feat: Enhanced query performance monitoring features to track slow queries, examine query execution plans, monitor wait events, and identify blocking sessions. Jan 8, 2025
src/mysql.go Show resolved Hide resolved
src/query-performance-monitoring/utils/helpers.go Outdated Show resolved Hide resolved
src/mysql.go Outdated Show resolved Hide resolved
mysql-config.yml.sample Outdated Show resolved Hide resolved
src/args/argument_list.go Outdated Show resolved Hide resolved
src/args/argument_list.go Outdated Show resolved Hide resolved
go.mod Outdated Show resolved Hide resolved
Copy link
Author

@spathlavath spathlavath left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rahulreddy15
thanks for reviewing
please share comments with criticality
so we can work on them as per priority

go.mod Outdated Show resolved Hide resolved
mysql-config.yml.sample Outdated Show resolved Hide resolved
src/args/argument_list.go Outdated Show resolved Hide resolved
src/args/argument_list.go Outdated Show resolved Hide resolved
src/query-performance-monitoring/utils/helpers.go Outdated Show resolved Hide resolved
src/mysql.go Outdated Show resolved Hide resolved
@spathlavath spathlavath force-pushed the epic_performance_monitoring branch 5 times, most recently from 6ff4f65 to ec80544 Compare January 15, 2025 07:02
…king sessions and wait events (#7)

* feat: Introducing query performance monitoring for slow queries, blocking sessions and wait events.

* refactor: Implemented a limit for wait events,  blocking sessions, and included bug fixes (#8)

* refactor: Implemented a limit for wait events,  blocking sessions, and included bug fixes.

* Included a stepID for each row during the query execution iteration

* Added fix for stepID

* Added a fix to ensure that  increments correctly.

* Renamed FETCH_INTERVAL to SLOW_QUERY_FETCH_INTERVAL

* Added detailed logging for each operation, including the time taken for execution.

* refactor: Added configuration option to disable query performance metrics per database (#10)

* refactor: Added configuration option to disable query performance metrics per database

* Revised the list of input arguments for retrieving individual queries.

* Updated logging messages and Revised the list of input arguments for retrieving wait events and blocking session queries.

* Added a helper function to obtain a list of unique databases to exclude.

* code refactoring

* Added fix for number of arguments mismatch for the SQL query

* removed rebind functionality

* updated metricset limit

* reverted metricset limit

* minor code refactoring

* fixed linting errors

* fixed linting errors

* refactor: resolving linting errors (#12)

* refactor: resolving linting errors

* fixing linting errors

* fixing linting errors

* fixing linting errors

* fixing linting errors

* fixing linting errors

* refactor: resolving linting errors (#13)

* refactor: changed log.info to log.debug and other bug fixes (#14)

* refactor: code refactoring and addressing review comments (#15)

* refactor: code refactoring and addressing review comments

* lint issue fixes

* lint issue fixes

* lint issue fixes

* lint issue fixes

* lint issue fixes

* refactor: Added a limit on individual query details and defined min/max values for the limit threshold. (#16)

* refactor: Added a limit on individual query details and defined min/max values for the limit threshold.

* minor enhancements

* minor enhancements

* minor enhancements

* refactor: code resturcturing (#17)

* refactor: code resturcturing

* file name changes

* Blocking sessions query update

* Blocking sessions query update

* package changes

* Added code review fixes

* Added code review fixes

* Added code review fixes

* Added code review fixes

* Added code review fixes

* Added code review fixes

* Added code review fixes

* query execution plan changes

* file name changes

* Added code review fixes
…Delete and Update queries. Updated blocking sessions data model (#18)
…ion times (#20)

Updated wait events query to  analyze wait events and execution times
@spathlavath spathlavath force-pushed the epic_performance_monitoring branch from ec80544 to c796359 Compare January 15, 2025 07:07
mysql-config.yml.sample Outdated Show resolved Hide resolved
src/mysql.go Outdated Show resolved Hide resolved
Copy link
Contributor

@sigilioso sigilioso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for addressing the previous comments. I've left additional feedback

src/args/argument_list.go Outdated Show resolved Hide resolved
src/mysql_test.go Outdated Show resolved Hide resolved
src/mysql.go Outdated Show resolved Hide resolved
mysql-config.yml.sample Show resolved Hide resolved
src/query-performance-monitoring/validator/validations.go Outdated Show resolved Hide resolved
src/query-performance-monitoring/utils/helpers.go Outdated Show resolved Hide resolved
@spathlavath spathlavath requested a review from sigilioso January 27, 2025 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants