summaryrefslogtreecommitdiff
path: root/src/lib/analytics.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-08-14 11:17:16 +0100
committerCarl Hetherington <cth@carlh.net>2018-08-14 11:18:18 +0100
commit0fa103385bba4f18939f77accd725efd4833d9f2 (patch)
tree28ffe34f041f41332e2a1e7fa763e8dcc28dc437 /src/lib/analytics.h
parenteb370b3058dacc1b21ee8f576af5d6189670673e (diff)
Partial work on gathering details of job events.
Diffstat (limited to 'src/lib/analytics.h')
-rw-r--r--src/lib/analytics.h23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/lib/analytics.h b/src/lib/analytics.h
index 302a41a6e..f4cafe986 100644
--- a/src/lib/analytics.h
+++ b/src/lib/analytics.h
@@ -22,12 +22,28 @@
#include "signaller.h"
#include <boost/signals2.hpp>
+class Event
+{
+public:
+ Event ();
+ Event (cxml::ConstNodePtr node);
+
+ void set (std::string k, std::string v);
+
+ void as_xml (cxml::NodePtr parent) const;
+ std::string dump () const;
+
+private:
+ struct timeval _time;
+ std::map<std::string k, std::string v) _data;
+};
+
class Analytics : public State, public Signaller
{
public:
Analytics ();
- void successful_dcp_encode ();
+ void job_state_changed (boost::shared_ptr<Job> job);
void write () const;
void read ();
@@ -37,8 +53,9 @@ public:
static Analytics* instance ();
private:
- int _successful_dcp_encodes;
-
+ /** Mutex to protect _events */
+ boost::mutex _mutex;
+ std::list<Event> _events;
static Analytics* _instance;
static int const _current_version;
};