Details
-
Task
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
Overview
MariaDB Feedback plugin has a special set of status variables of the type:
FEATURE_CHECK_CONSTRAINTS, FEATURE_JSON, FEATURE_APPLICATION_TIME_PERIOD, etc.
We want to count how many servers make use of any of these features. A feature is used when the counter for that feature is greater than 0.
The end goal is to produce a line chart that shows feature-usage over time. We want a series for each FEATURE.
Required steps:
Create a data-extractor to extract FEATURE based data from raw upload data.
The upload-fact should store JSON values of the form:
ComputedUploadFact(key='features', |
value=('{' |
'"json": true,' |
'"application_time_period": true,' |
'"window_functions": true,' |
'"fulltext": true' |
}'))
|
For simplicity, we'll only store a key as true if the feature is used, otherwise
it will be absent.
Create a multi-series chart for each feature
Implementation suggestion:
- In feedback_plugin/data_processing/charts.py ->
- Function to compute a "total number of distinct servers where feature xxx is used, grouped by month"
- Implementation idea: The feature name could be a parameter for this function.
Hints:
Most of the relevant code can be found in:
- feedback_plugin/data_processing/extractors.py
- feedback_plugin/data_processing/etl.py
- Check ServerVersionExtractor for an UploadFactExtractor example.
- To see how an UploadFactExtractor is called by the ETL framework, you can look at get_upload_data_for_data_extractors.