23 #include <drizzled/session.h>
24 #include <drizzled/util/storable.h>
28 #define USAGE_MAX_KEPT 5
37 memset(&start, 0,
sizeof(
struct rusage));
38 memset(&buffer, 0,
sizeof(
struct rusage));
41 void set(
const std::string &sql,
const struct rusage &arg)
43 if (getrusage(RUSAGE_THREAD, &buffer))
45 memset(&start, 0,
sizeof(
struct rusage));
46 memset(&buffer, 0,
sizeof(
struct rusage));
49 query= sql.substr(0, 512);
52 buffer.ru_utime.tv_sec -= start.ru_utime.tv_sec;
53 buffer.ru_utime.tv_usec -= start.ru_utime.tv_usec;
55 buffer.ru_stime.tv_sec -= start.ru_stime.tv_sec;
56 buffer.ru_stime.tv_usec -= start.ru_stime.tv_usec;
58 buffer.ru_maxrss -= start.ru_maxrss;
59 buffer.ru_ixrss -= start.ru_ixrss;
60 buffer.ru_idrss -= start.ru_idrss;
61 buffer.ru_isrss -= start.ru_isrss;
62 buffer.ru_minflt -= start.ru_minflt;
63 buffer.ru_majflt -= start.ru_majflt;
64 buffer.ru_nswap -= start.ru_nswap;
65 buffer.ru_inblock -= start.ru_inblock;
66 buffer.ru_oublock -= start.ru_oublock;
67 buffer.ru_msgsnd -= start.ru_msgsnd;
68 buffer.ru_msgrcv -= start.ru_msgrcv;
69 buffer.ru_nsignals -= start.ru_nsignals;
70 buffer.ru_nvcsw -= start.ru_nvcsw;
71 buffer.ru_nivcsw -= start.ru_nivcsw;
74 const struct rusage &delta(
void)
const
83 typedef std::list <query_usage> Query_list;
88 Query_list query_list;
92 query_list.resize(USAGE_MAX_KEPT);
97 Query_list &list(
void)
boost::shared_ptr< const std::string > QueryString