#ifndef THIRD_PARTY_PERF_DATA_CONVERTER_QUIPPER_HUGE_PAGE_DEDUCER_H_ #define THIRD_PARTY_PERF_DATA_CONVERTER_QUIPPER_HUGE_PAGE_DEDUCER_H_ #include "compat/proto.h" namespace quipper { // Walks through all the perf events in |*events| and deduces correct |pgoff| // and |filename| values for MMAP events. // // This may not correctly handle perf data that has been processed to remove // MMAPs that contain no sample events, since one or more of the mappings // necessary to resolve the huge pages mapping could have been discarded. The // result would be that the huge pages mapping would remain as "//anon" and the // other mappings would remain unchanged. void DeduceHugePages(RepeatedPtrField<PerfDataProto::PerfEvent>* events); // Walks through all the perf events in |*events| and searches for split // mappings. Combines these split mappings into one and replaces the split // mapping events. Modifies the events vector stored in |*events|. void CombineMappings(RepeatedPtrField<PerfDataProto::PerfEvent>* events); } // namespace quipper #endif // THIRD_PARTY_PERF_DATA_CONVERTER_QUIPPER_HUGE_PAGE_DEDUCER_H_