Home | History | Annotate | Download | only in quipper
      1 #ifndef THIRD_PARTY_PERF_DATA_CONVERTER_QUIPPER_HUGE_PAGE_DEDUCER_H_
      2 #define THIRD_PARTY_PERF_DATA_CONVERTER_QUIPPER_HUGE_PAGE_DEDUCER_H_
      3 
      4 #include "compat/proto.h"
      5 
      6 namespace quipper {
      7 
      8 // Walks through all the perf events in |*events| and deduces correct |pgoff|
      9 // and |filename| values for MMAP events.
     10 //
     11 // This may not correctly handle perf data that has been processed to remove
     12 // MMAPs that contain no sample events, since one or more of the mappings
     13 // necessary to resolve the huge pages mapping could have been discarded. The
     14 // result would be that the huge pages mapping would remain as "//anon" and the
     15 // other mappings would remain unchanged.
     16 void DeduceHugePages(RepeatedPtrField<PerfDataProto::PerfEvent>* events);
     17 
     18 // Walks through all the perf events in |*events| and searches for split
     19 // mappings. Combines these split mappings into one and replaces the split
     20 // mapping events. Modifies the events vector stored in |*events|.
     21 void CombineMappings(RepeatedPtrField<PerfDataProto::PerfEvent>* events);
     22 
     23 }  // namespace quipper
     24 
     25 #endif  // THIRD_PARTY_PERF_DATA_CONVERTER_QUIPPER_HUGE_PAGE_DEDUCER_H_
     26