Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-4568

Port Percona response time distribution as audit plugin

Details

    • Task
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • None
    • None

    Description

      The slow query log provides exact information about queries that take a long time to execute. However, sometimes there are a large number of queries that each take a very short amount of time to execute. This feature provides a tool for analyzing that information by counting and displaying the number of queries according to the the length of time they took to execute. The user can define time intervals that divide the range 0 to positive infinity into smaller intervals and then collect the number of commands whose execution times fall into each of those intervals.

      http://www.percona.com/doc/percona-server/5.5/diagnostics/response_time_distribution.html

      This feature is almost perfect to be ported as audit plugin. There are a few constraints though:

      • FLUSH QUERY_RESPONSE_TIME. We will substitute it with system variable like "query_response_time_flush". Update of this variable will trigger flush.
      • we won't port old-style "have_response_time_distribution" variable.
      • we probably won't port old-style "SHOW QUERY_RESPONSE_TIME".

      Attachments

        1. qrtp.patch
          63 kB
          Sergey Vojtovich

        Issue Links

          Activity

            svoj Sergey Vojtovich created issue -
            serg Sergei Golubchik made changes -
            Field Original Value New Value
            Description The slow query log provides exact information about queries that take a long time to execute. However, sometimes there are a large number of queries that each take a very short amount of time to execute. This feature provides a tool for analyzing that information by counting and displaying the number of queries according to the the length of time they took to execute. The user can define time intervals that divide the range 0 to positive infinity into smaller intervals and then collect the number of commands whose execution times fall into each of those intervals.

            http://www.percona.com/doc/percona-server/5.5/diagnostics/response_time_distribution.html

            This feature is almost perfect to be ported as audit plugin. There are a few constraints though:
            - FLUSH QUERY_RESPONSE_TIME. We will substitute it with system variable like "query_response_time_flush". Update of this variable will trigger flush.
            - we wont port old-style "have_response_time_distribution" variable.
            - we probably wont port old-style "SHOW QUERY_RESPONSE_TIME".
            The slow query log provides exact information about queries that take a long time to execute. However, sometimes there are a large number of queries that each take a very short amount of time to execute. This feature provides a tool for analyzing that information by counting and displaying the number of queries according to the the length of time they took to execute. The user can define time intervals that divide the range 0 to positive infinity into smaller intervals and then collect the number of commands whose execution times fall into each of those intervals.

            http://www.percona.com/doc/percona-server/5.5/diagnostics/response_time_distribution.html

            This feature is almost perfect to be ported as audit plugin. There are a few constraints though:
            - FLUSH QUERY_RESPONSE_TIME. We will substitute it with system variable like "query_response_time_flush". Update of this variable will trigger flush.
            - we won't port old-style "have_response_time_distribution" variable.
            - we probably won't port old-style "SHOW QUERY_RESPONSE_TIME".

            Initial prototype

            svoj Sergey Vojtovich added a comment - Initial prototype
            svoj Sergey Vojtovich made changes -
            Attachment qrtp.patch [ 22310 ]
            svoj Sergey Vojtovich made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            svoj Sergey Vojtovich made changes -
            Assignee Sergey Vojtovich [ svoj ] Sergei Golubchik [ serg ]

            Sergei, please review attached patch.

            svoj Sergey Vojtovich added a comment - Sergei, please review attached patch.
            serg Sergei Golubchik made changes -
            Assignee Sergei Golubchik [ serg ] Sergey Vojtovich [ svoj ]
            svoj Sergey Vojtovich made changes -
            Assignee Sergey Vojtovich [ svoj ] Sergei Golubchik [ serg ]

            Please review updated patch.

            svoj Sergey Vojtovich added a comment - Please review updated patch.

            reviewed, ok to push

            serg Sergei Golubchik added a comment - reviewed, ok to push
            serg Sergei Golubchik made changes -
            Assignee Sergei Golubchik [ serg ] Sergey Vojtovich [ svoj ]
            svoj Sergey Vojtovich made changes -
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Closed [ 6 ]

            how query cache will work here?
            it will be placed at 0.01ms to 0.1ms for example? instead of the default query time?

            could we add a new column
            query_cache ENUM('Y','N') not null default 'N'
            in this case we know what kind of query was executed

            rspadim roberto spadim added a comment - how query cache will work here? it will be placed at 0.01ms to 0.1ms for example? instead of the default query time? could we add a new column query_cache ENUM('Y','N') not null default 'N' in this case we know what kind of query was executed

            or maybe... since the today table is running at percona, add two more fields...

            count_query_cache, total_query_cache

            to know the "no query cache used" values we could execute
            SELECT (count-count_query_cache)
            and
            SELECT (total-total_query_cache)

            rspadim roberto spadim added a comment - or maybe... since the today table is running at percona, add two more fields... count_query_cache, total_query_cache to know the "no query cache used" values we could execute SELECT (count-count_query_cache) and SELECT (total-total_query_cache)
            rspadim roberto spadim made changes -

            please check https://mariadb.atlassian.net/browse/MDEV-4904
            i add query cache information
            maybe it could be usefull...

            rspadim roberto spadim added a comment - please check https://mariadb.atlassian.net/browse/MDEV-4904 i add query cache information maybe it could be usefull...
            serg Sergei Golubchik made changes -
            Workflow defaullt [ 27525 ] MariaDB v2 [ 42738 ]
            ratzpo Rasmus Johansson (Inactive) made changes -
            Workflow MariaDB v2 [ 42738 ] MariaDB v3 [ 61742 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 61742 ] MariaDB v4 [ 132130 ]

            People

              svoj Sergey Vojtovich
              svoj Sergey Vojtovich
              Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.