Details
-
New Feature
-
Status: Open (View Workflow)
-
Critical
-
Resolution: Unresolved
-
Server 12.1 dev sprint
Description
Description:
As a database administrator, I want the MariaDB server to periodically sample active sessions so that I can have a historical view of session activity for performance analysis. ASH = Active Session History
Acceptance Criteria:
- A background thread is implemented to sample all active sessions at configurable intervals (default: every 1 second).
- The sampling interval can be adjusted via a server configuration variable (e.g., ash_sampling_interval).
- The sampling process is lightweight, with performance benchmarks showing minimal overhead (e.g., <1% CPU impact under typical workloads).
- The feature can be enabled or disabled via a configuration variable (e.g., ash_enabled).
Server Enhancement Requirements:
Background Thread: Implement a new background thread within the MariaDB server dedicated to sampling active sessions periodically. Alternatively, integrate this sampling logic into an existing monitoring thread if feasible.
Configuration Variables: Introduce system variables such as ash_enabled (boolean, default: OFF) to toggle the feature and ash_sampling_interval (integer, default: 1 second) to set the sampling frequency.
Session State Access: Modify the server’s thread management or monitoring code to allow the sampling thread to access internal session state data (e.g., thread state, current activity) efficiently. This may involve extending existing data structures or adding new hooks to expose session information.
Attachments
Issue Links
- blocks
-
MDEV-36406 Collect Session State Data for Performance Analysis
-
- Open
-
-
MDEV-36407 Store Sampled Performance Data Efficiently for Performance Analysis
-
- Open
-