aboutsummaryrefslogtreecommitdiff
path: root/perf
diff options
context:
space:
mode:
authorArjan van de Ven <arjan@linux.intel.com>2010-08-10 12:56:15 -0400
committerArjan van de Ven <arjan@linux.intel.com>2010-08-10 12:56:15 -0400
commit9b8f346fc69311f9918b823c21cc522f78c1a912 (patch)
tree65df1bc122b71ba5153a12ba1579c8f642f3b053 /perf
parent7174d08a3da3448751777b768c00030910448283 (diff)
downloadpowertop-9b8f346fc69311f9918b823c21cc522f78c1a912.tar.gz
more bundle work
Diffstat (limited to 'perf')
-rw-r--r--perf/perf.cpp4
-rw-r--r--perf/perf.h4
-rw-r--r--perf/perf_bundle.h2
3 files changed, 6 insertions, 4 deletions
diff --git a/perf/perf.cpp b/perf/perf.cpp
index 64ef32d..52e6c56 100644
--- a/perf/perf.cpp
+++ b/perf/perf.cpp
@@ -177,7 +177,7 @@ void perf_event::stop(void)
ioctl(perf_fd, PERF_EVENT_IOC_DISABLE);
}
-void perf_event::process(void)
+void perf_event::process(void *cookie)
{
struct perf_event_header *header;
int i = 0;
@@ -200,7 +200,7 @@ void perf_event::process(void)
pc->data_tail -= bufsize * getpagesize();
if (header->type == PERF_RECORD_SAMPLE)
- handle_event(header);
+ handle_event(header, cookie);
}
pc->data_tail = pc->data_head;
}
diff --git a/perf/perf.h b/perf/perf.h
index 43f3f80..c676037 100644
--- a/perf/perf.h
+++ b/perf/perf.h
@@ -30,9 +30,9 @@ public:
void stop(void);
void clear(void);
- void process(void);
+ void process(void *cookie);
- virtual void handle_event(struct perf_event_header *header) { };
+ virtual void handle_event(struct perf_event_header *header, void *cookie) { };
};
diff --git a/perf/perf_bundle.h b/perf/perf_bundle.h
index b3c8cb8..0e9acfc 100644
--- a/perf/perf_bundle.h
+++ b/perf/perf_bundle.h
@@ -14,6 +14,8 @@ class perf_bundle {
protected:
vector<class perf_event *> events;
public:
+ vector<void *> records;
+
void add_event(const char *event_name);
void start(void);