Hi Sergei! :D 2013/8/18 Sergei Golubchik <serg@mariadb.org>
Hi, Roberto!
On Aug 15, Roberto Spadim wrote:
Hi guys, i put some fields in qc_info plugin https://mariadb.atlassian.net/browse/MDEV-4581 the second part was add some others informations (stats): https://mariadb.atlassian.net/browse/MDEV-4682
i was reading the "response_time_distribution" of percona, patch at https://mariadb.atlassian.net/browse/MDEV-4568
could i use the audit plugin to implement MDEV-4682?
what i need is: 1)know if the query was executed with/without query cache
There's no API for that. Perhaps, a plugin can get this information by declaring MYSQL_SERVER, and looking at THD fields that are normally used when a query is executed. Like, if they're NULL, the query was in the query cache. Some hacks like that are, probably, possible.
i hacked the THD... check the patch at https://mariadb.atlassian.net/browse/MDEV-4904 ((thd->query_plan_flags & QPLAN_QC) !=0?1:0 ) if ==1 query cache used, if not query cache not used =]
2)know the time expend (lock time, and total time) to execute the query (first execution)
no lock time. query time can be calculated by measuring the time between MYSQL_AUDIT_GENERAL_LOG and MYSQL_AUDIT_GENERAL_STATUS.
nice, i was looking the "query_response_time_plugin", and it do something similar, just the start query time and the start lock time are "recorded" (saved in a THD variable) by server, maybe we could add a end time to make stats easier?
3)know the time expend with query cache hit
pardon me?
hehe i did this in https://mariadb.atlassian.net/browse/MDEV-4682 it's the time between the start of query execution and end_of_result function i use it in mdev-4682 to know how many time we lost in query cache, that's interesting to know the difference from query time and query cache 'boost' (query time * query cache hits)-(SUM OF query cache hits time) = total time we boost with cache
4) both (3) and (2) don't include time of network packages, just server side times...
is it possible? any idea how could i implement it? i didn't write a audit plugin yet =( well.. time to learn =D
Audit API is very simple, you won't have any problems with it :)
reading the plugin i think it's possible :) sorry i didn't read it before
Regards, Sergei
thanks!!! :D
-- Roberto Spadim