From: David Landell Date: Fri, 11 Dec 2015 20:30:37 +0000 (+0100) Subject: Make number of reported peaks configurable X-Git-Tag: submit/tizen/20180620.112952^2~242 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3b98613e71e6230a342887de30fc5adf63f809e0;p=sdk%2Ftools%2Fheaptrack.git Make number of reported peaks configurable Make it possible to control number of reported peaks in heaptrack_print REVIEW: 126282 From 98a061bee3879fcb5c01728d63c39b6773705108 Mon Sep 17 00:00:00 2001 From: David Landell Date: Wed, 2 Dec 2015 19:04:59 +0100 Subject: [PATCH] Make number of reported peaks configurable --- diff --git a/heaptrack_print.cpp b/heaptrack_print.cpp index 3fe2135..a2e5899 100644 --- a/heaptrack_print.cpp +++ b/heaptrack_print.cpp @@ -264,7 +264,7 @@ struct Printer final : public AccumulatedTraceData return l.*member > r.*member; }; sort(mergedAllocations.begin(), mergedAllocations.end(), sortOrder); - for (size_t i = 0; i < min(size_t(10), mergedAllocations.size()); ++i) { + for (size_t i = 0; i < min(peakLimit, mergedAllocations.size()); ++i) { auto& allocation = mergedAllocations[i]; if (!(allocation.*member)) { break; @@ -301,7 +301,7 @@ struct Printer final : public AccumulatedTraceData [member] (const Allocation& l, const Allocation &r) { return l.*member > r.*member; }); - for (size_t i = 0; i < min(size_t(10), allocations.size()); ++i) { + for (size_t i = 0; i < min(peakLimit, allocations.size()); ++i) { const auto& allocation = allocations[i]; if (!(allocation.*member)) { break; @@ -466,6 +466,7 @@ struct Printer final : public AccumulatedTraceData uint64_t massifDetailedFreq = 1; string filterBtFunction; + size_t peakLimit = 10; }; } @@ -489,6 +490,8 @@ int main(int argc, char** argv) "Print backtraces to leaked memory allocations.") ("print-overall-allocated,o", po::value()->default_value(false)->implicit_value(true), "Print top overall allocators, ignoring memory frees.") + ("peak-limit,n", po::value()->default_value(10)->implicit_value(10), + "Limit the number of reported peaks.") ("print-histogram,H", po::value()->default_value(string()), "Path to output file where an allocation size histogram will be written to.") ("print-flamegraph,F", po::value()->default_value(string()), @@ -553,6 +556,7 @@ int main(int argc, char** argv) data.shortenTemplates = vm["shorten-templates"].as(); data.mergeBacktraces = vm["merge-backtraces"].as(); data.filterBtFunction = vm["filter-bt-function"].as(); + data.peakLimit = vm["peak-limit"].as(); const string printHistogram = vm["print-histogram"].as(); data.printHistogram = !printHistogram.empty(); const string printFlamegraph = vm["print-flamegraph"].as();