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

V3.0 4826 4817 #4827

Open
wants to merge 39 commits into
base: v3.0
Choose a base branch
from
Open

V3.0 4826 4817 #4827

wants to merge 39 commits into from

Conversation

renecannao
Copy link
Contributor

Merge of PRs #4826 and #4817

renecannao and others added 30 commits February 3, 2025 13:28
Accept a reference to a vector instead of returning a deque
MySQL_Logger::insertMysqlEventsIntoDb() populate table `stats_mysql_query_events`
using mysql query events in the circular buffer
MySQL_Logger::processEvents() is responsible for dumping mysql query events
from the circular buffer into SQLite tables.
DUMP EVENTSLOG commands trigger a call to processEvents():
* DUMP EVENTSLOG FROM BUFFER TO MEMORY: copies events to the in-memory SQLite table
* DUMP EVENTSLOG FROM BUFFER TO DISK: copies events to the on-disk SQLite table
* DUMP EVENTSLOG FROM BUFFER TO BOTH: copies events to both in-memory and on-disk
       SQLite tables simultaneously

Port of commit 23e3244
Added new Admin variable stats_mysql_eventslog_sync_buffer_to_disk .
This variable defines how frequently mysql query eventslog are
automatically dumped to disk.
In MySQL_Event copy constructor, queries are copied up to
eventslog_buffer_max_query_length bytes.
Added enhancements:
* added mysql-eventslog_table_memory_size
* liste columns names in insertMysqlEventsIntoDb()
* added counters and metrics (not exported yet)

Port of commit 8f0324b
Added function MySQL_Logger::getAllMetrics() to export all metrics
related to eventlogs
Adding logging for errors generated directly directly by ProxySQL
New `errno` column in tables:
- stats_mysql_query_events
- history_mysql_query_events

Logging into `stats_mysql_errors` also errors generated by ProxySQL (no backend)

Added initial TAP test to be extended
JavierJF and others added 9 commits February 14, 2025 12:44
SQLite amalgamation doesn't support DELETE with ORDER BY .
Thus the DELETE with ORDER BY was replaced by a SELECT to retrieve the maximum id,
followed by a DELETE up to that id.
After the migration of mysql_sessions from PtrArray to vector , call to end_thread()
must be controlled in a different way
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants