• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)13 const 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)26 MemoryDumpType 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)38 const 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)52 MemoryDumpLevelOfDetail 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