summaryrefslogtreecommitdiff
path: root/src/base/stats/mysql.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-02-21 18:30:52 +0000
committerGabe Black <gblack@eecs.umich.edu>2007-02-21 18:30:52 +0000
commitf8ffc84d0b4fc908487a0af200abcc3cfce56633 (patch)
treeec9c02b93c00c0f9bcedefca9303c0c0a0fb7876 /src/base/stats/mysql.hh
parent3afbf306f47152f2a9cacbe972797bd9cb6910fd (diff)
parenta329631edbf18d01f5f84b57147bdd69f1e2e6b3 (diff)
downloadgem5-f8ffc84d0b4fc908487a0af200abcc3cfce56633.tar.xz
Merge zizzer.eecs.umich.edu:/bk/newmem
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem --HG-- extra : convert_revision : bab45577db1967de1dd88ec9b228f106a4ab7479
Diffstat (limited to 'src/base/stats/mysql.hh')
-rw-r--r--src/base/stats/mysql.hh31
1 files changed, 28 insertions, 3 deletions
diff --git a/src/base/stats/mysql.hh b/src/base/stats/mysql.hh
index a43c74ecc..52f93ac61 100644
--- a/src/base/stats/mysql.hh
+++ b/src/base/stats/mysql.hh
@@ -62,7 +62,7 @@ struct SetupStat
uint16_t size;
void init();
- unsigned setup();
+ unsigned setup(MySqlRun *run);
};
class InsertData
@@ -84,13 +84,34 @@ class InsertData
int16_t y;
public:
- InsertData();
+ InsertData(MySqlRun *_run);
~InsertData();
void flush();
void insert();
};
+class InsertEvent
+{
+ private:
+ char *query;
+ int size;
+ bool first;
+ static const int maxsize = 1024*1024;
+
+ typedef std::map<std::string, uint32_t> event_map_t;
+ event_map_t events;
+
+ MySqlRun *run;
+
+ public:
+ InsertEvent(MySqlRun *_run);
+ ~InsertEvent();
+
+ void flush();
+ void insert(const std::string &stat);
+};
+
class MySql : public Output
{
protected:
@@ -99,6 +120,7 @@ class MySql : public Output
SetupStat stat;
InsertData newdata;
+ InsertEvent newevent;
std::list<FormulaData *> formulas;
bool configured;
@@ -120,7 +142,7 @@ class MySql : public Output
}
public:
- MySql(MySqlRun &_run){}
+ MySql();
~MySql();
void connect(const std::string &host, const std::string &user,
@@ -142,6 +164,9 @@ class MySql : public Output
virtual bool valid() const;
virtual void output();
+ // Implement Event Output
+ virtual void event(const std::string &event);
+
protected:
// Output helper
void output(const DistDataData &data);