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

            Initial prototype

            svoj Sergey Vojtovich added a comment - Initial prototype

            Sergei, please review attached patch.

            svoj Sergey Vojtovich added a comment - Sergei, please review attached patch.

            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

            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)

            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...

            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.