summaryrefslogtreecommitdiff
path: root/simpleperf/RecordReadThread.h
diff options
context:
space:
mode:
Diffstat (limited to 'simpleperf/RecordReadThread.h')
-rw-r--r--simpleperf/RecordReadThread.h25
1 files changed, 9 insertions, 16 deletions
diff --git a/simpleperf/RecordReadThread.h b/simpleperf/RecordReadThread.h
index 4e93f97a..c4a6830a 100644
--- a/simpleperf/RecordReadThread.h
+++ b/simpleperf/RecordReadThread.h
@@ -50,7 +50,6 @@ class RecordBuffer {
// Get data of the current record. Return nullptr if there is no records in the buffer.
char* GetCurrentRecord();
- void AddCurrentRecordSize(size_t size) { cur_read_record_size_ += size; }
// Called after reading a record, the space of the record will be writable.
void MoveToNextRecord();
@@ -83,14 +82,6 @@ class RecordParser {
size_t callchain_pos_in_sample_records_ = 0;
};
-struct RecordStat {
- size_t lost_samples = 0;
- size_t lost_non_samples = 0;
- size_t cut_stack_samples = 0;
- uint64_t aux_data_size = 0;
- uint64_t lost_aux_data_size = 0;
-};
-
// Read records from the kernel buffer belong to an event_fd.
class KernelRecordReader {
public:
@@ -124,8 +115,7 @@ class KernelRecordReader {
class RecordReadThread {
public:
RecordReadThread(size_t record_buffer_size, const perf_event_attr& attr, size_t min_mmap_pages,
- size_t max_mmap_pages, size_t aux_buffer_size,
- bool allow_cutting_samples = true);
+ size_t max_mmap_pages);
~RecordReadThread();
void SetBufferLevels(size_t record_buffer_low_level, size_t record_buffer_critical_level) {
record_buffer_low_level_ = record_buffer_low_level;
@@ -147,8 +137,11 @@ class RecordReadThread {
// If available, return the next record in the RecordBuffer, otherwise return nullptr.
std::unique_ptr<Record> GetRecord();
-
- const RecordStat& GetStat() const { return stat_; }
+ void GetLostRecords(size_t* lost_samples, size_t* lost_non_samples, size_t* cut_stack_samples) {
+ *lost_samples = lost_samples_;
+ *lost_non_samples = lost_non_samples_;
+ *cut_stack_samples = cut_stack_samples_;
+ }
private:
enum Cmd {
@@ -171,7 +164,6 @@ class RecordReadThread {
bool HandleRemoveEventFds(const std::vector<EventFd*>& event_fds);
bool ReadRecordsFromKernelBuffer();
void PushRecordToRecordBuffer(KernelRecordReader* kernel_record_reader);
- void ReadAuxDataFromKernelBuffer(bool* has_data);
bool SendDataNotificationToMainThread();
RecordBuffer record_buffer_;
@@ -185,7 +177,6 @@ class RecordReadThread {
size_t stack_size_in_sample_record_ = 0;
size_t min_mmap_pages_;
size_t max_mmap_pages_;
- size_t aux_buffer_size_;
// Used to pass command notification from the main thread to the read thread.
android::base::unique_fd write_cmd_fd_;
@@ -204,7 +195,9 @@ class RecordReadThread {
std::unique_ptr<std::thread> read_thread_;
std::vector<KernelRecordReader> kernel_record_readers_;
- RecordStat stat_;
+ size_t lost_samples_ = 0;
+ size_t lost_non_samples_ = 0;
+ size_t cut_stack_samples_ = 0;
};
} // namespace simpleperf