Details

    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

          cvicentiu Vicențiu Ciorbaru created issue -
          cvicentiu Vicențiu Ciorbaru made changes -
          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}}.
          cvicentiu Vicențiu Ciorbaru made changes -
          Component/s Feedback Plugin [ 19000 ]
          julien.fritsch Julien Fritsch made changes -
          Workflow MariaDB v4 [ 181572 ] MariaDB Foundation v1 [ 188196 ]
          vlad.radu Vlad Radu made changes -
          Labels foundation

          People

            Unassigned Unassigned
            cvicentiu Vicențiu Ciorbaru
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: