1 // Copyright 2015 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "base/trace_event/memory_dump_request_args.h" 6 7 #include "base/notreached.h" 8 9 namespace base { 10 namespace trace_event { 11 12 // static MemoryDumpTypeToString(const MemoryDumpType & dump_type)13const char* MemoryDumpTypeToString(const MemoryDumpType& dump_type) { 14 switch (dump_type) { 15 case MemoryDumpType::kPeriodicInterval: 16 return "periodic_interval"; 17 case MemoryDumpType::kExplicitlyTriggered: 18 return "explicitly_triggered"; 19 case MemoryDumpType::kSummaryOnly: 20 return "summary_only"; 21 } 22 NOTREACHED(); 23 return "unknown"; 24 } 25 StringToMemoryDumpType(const std::string & str)26MemoryDumpType StringToMemoryDumpType(const std::string& str) { 27 if (str == "periodic_interval") { 28 return MemoryDumpType::kPeriodicInterval; 29 } 30 if (str == "explicitly_triggered") 31 return MemoryDumpType::kExplicitlyTriggered; 32 if (str == "summary_only") 33 return MemoryDumpType::kSummaryOnly; 34 NOTREACHED(); 35 return MemoryDumpType::kLast; 36 } 37 MemoryDumpLevelOfDetailToString(const MemoryDumpLevelOfDetail & level_of_detail)38const char* MemoryDumpLevelOfDetailToString( 39 const MemoryDumpLevelOfDetail& level_of_detail) { 40 switch (level_of_detail) { 41 case MemoryDumpLevelOfDetail::kBackground: 42 return "background"; 43 case MemoryDumpLevelOfDetail::kLight: 44 return "light"; 45 case MemoryDumpLevelOfDetail::kDetailed: 46 return "detailed"; 47 } 48 NOTREACHED(); 49 return "unknown"; 50 } 51 StringToMemoryDumpLevelOfDetail(const std::string & str)52MemoryDumpLevelOfDetail StringToMemoryDumpLevelOfDetail( 53 const std::string& str) { 54 if (str == "background") 55 return MemoryDumpLevelOfDetail::kBackground; 56 if (str == "light") 57 return MemoryDumpLevelOfDetail::kLight; 58 if (str == "detailed") 59 return MemoryDumpLevelOfDetail::kDetailed; 60 NOTREACHED(); 61 return MemoryDumpLevelOfDetail::kLast; 62 } 63 64 } // namespace trace_event 65 } // namespace base 66