#ifndef SIMPLE_PERF_EVENT_SELECTION_SET_H_
#define SIMPLE_PERF_EVENT_SELECTION_SET_H_
-#include <poll.h>
#include <functional>
#include <map>
#include <vector>
-#include <base/macros.h>
+#include <android-base/macros.h>
#include "event_fd.h"
#include "event_type.h"
std::vector<CounterInfo> counters;
};
+struct pollfd;
+
// EventSelectionSet helps to monitor events.
// Firstly, the user creates an EventSelectionSet, and adds the specific event types to monitor.
// Secondly, the user defines how to monitor the events (by setting enable_on_exec flag,
bool EnableDwarfCallChainSampling(uint32_t dump_stack_size);
void SetInherit(bool enable);
- bool OpenEventFilesForAllCpus();
- bool OpenEventFilesForThreads(const std::vector<pid_t>& threads);
- bool OpenEventFilesForThreadsOnAllCpus(const std::vector<pid_t>& threads);
- bool EnableEvents();
+ bool OpenEventFilesForCpus(const std::vector<int>& cpus);
+ bool OpenEventFilesForThreadsOnCpus(const std::vector<pid_t>& threads, std::vector<int> cpus);
bool ReadCounters(std::vector<CountersInfo>* counters);
void PreparePollForEventFiles(std::vector<pollfd>* pollfds);
bool MmapEventFiles(size_t mmap_pages);