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.
Attachments
Activity
Field | Original Value | New Value |
---|---|---|
Description |
h2. 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. h2. Required steps: h3. Create a data-extractor to extract FEATURE based data from raw upload data. The upload-fact should store JSON values of the form: {code:python} ComputedUploadFact(key='features', value=('{' "json": true, "application_time_period": true, "window_functions": true, "fulltext": true }') {code} For simplicity, we'll only store a key as true if the feature is used, otherwise it will be absent. h3. 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. h4. 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}}. |
h2. 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. h2. Required steps: h3. Create a data-extractor to extract FEATURE based data from raw upload data. The upload-fact should store JSON values of the form: {code:python} ComputedUploadFact(key='features', value=('{' '"json": true,' '"application_time_period": true,' '"window_functions": true,' '"fulltext": true' }')) {code} For simplicity, we'll only store a key as true if the feature is used, otherwise it will be absent. h3. 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. h4. 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}}. |
Component/s | Feedback Plugin [ 19000 ] |
Workflow | MariaDB v4 [ 181572 ] | MariaDB Foundation v1 [ 188196 ] |
Labels | foundation |