00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <config.h>
00022
00023 #include <plugin/performance_dictionary/dictionary.h>
00024
00025 #include <drizzled/session.h>
00026
00027 #include <sys/resource.h>
00028
00029 using namespace drizzled;
00030 using namespace std;
00031
00032 namespace performance_dictionary {
00033
00034 bool SessionUsageLogger::pre(Session *session)
00035 {
00036 session->setUsage(true);
00037
00038 return false;
00039 }
00040
00041 bool SessionUsageLogger::post(Session *session)
00042 {
00043 QueryUsage *usage_cache= static_cast<QueryUsage *>(session->getProperty("query_usage"));
00044
00045 if (not usage_cache)
00046 {
00047 usage_cache= new QueryUsage;
00048 session->setProperty("query_usage", usage_cache);
00049 }
00050
00051 usage_cache->push(session->getQueryString(), session->getUsage());
00052
00053 return false;
00054 }
00055
00056 }