Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Side by Side Diff: components/crash/core/common/crash_keys.cc

Issue 1849413003: Define crash keys in the directory hierarchy where they are used. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge with head Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « components/crash/core/common/crash_keys.h ('k') | components/nacl/broker/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/crash/core/common/crash_keys.h" 5 #include "components/crash/core/common/crash_keys.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/debug/crash_logging.h" 8 #include "base/debug/crash_logging.h"
9 #include "base/format_macros.h" 9 #include "base/format_macros.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 for (size_t i = 0; i < kSwitchesMaxCount; ++i) { 127 for (size_t i = 0; i < kSwitchesMaxCount; ++i) {
128 // Name the keys using 1-based indexing. 128 // Name the keys using 1-based indexing.
129 int n = base::snprintf(formatted_keys[i], formatted_key_len, kSwitchFormat, 129 int n = base::snprintf(formatted_keys[i], formatted_key_len, kSwitchFormat,
130 i + 1); 130 i + 1);
131 DCHECK_GT(n, 0); 131 DCHECK_GT(n, 0);
132 base::debug::CrashKey crash_key = { formatted_keys[i], kSmallSize }; 132 base::debug::CrashKey crash_key = { formatted_keys[i], kSmallSize };
133 keys->push_back(crash_key); 133 keys->push_back(crash_key);
134 } 134 }
135 } 135 }
136 136
137 void AppendCrashCrashKeys(std::vector<base::debug::CrashKey>* keys) {
138 DCHECK(keys);
139
140 const std::vector<base::debug::CrashKey> crash_keys = {
141 #if defined(OS_MACOSX) || defined(OS_WIN)
142 { kMetricsClientId, kSmallSize },
143 #else
144 { kClientId, kSmallSize },
145 #endif
146 { kChannel, kSmallSize },
147 { kNumVariations, kSmallSize },
148 { kVariations, kLargeSize },
149 #if defined(OS_MACOSX)
150 { mac::kZombie, kMediumSize },
151 { mac::kZombieTrace, kMediumSize },
152 #endif
153 { kBug464926CrashKey, kSmallSize },
154 };
155
156 keys->insert(keys->end(), crash_keys.begin(), crash_keys.end());
157 }
158
137 void SetSwitchesFromCommandLine(const base::CommandLine& command_line, 159 void SetSwitchesFromCommandLine(const base::CommandLine& command_line,
138 SwitchFilterFunction skip_filter) { 160 SwitchFilterFunction skip_filter) {
139 const base::CommandLine::StringVector& argv = command_line.argv(); 161 const base::CommandLine::StringVector& argv = command_line.argv();
140 162
141 // Set the number of switches in case size > kNumSwitches. 163 // Set the number of switches in case size > kNumSwitches.
142 base::debug::SetCrashKeyValue(kNumSwitches, 164 base::debug::SetCrashKeyValue(kNumSwitches,
143 base::StringPrintf("%" PRIuS, argv.size() - 1)); 165 base::StringPrintf("%" PRIuS, argv.size() - 1));
144 166
145 size_t key_i = 1; // Key names are 1-indexed. 167 size_t key_i = 1; // Key names are 1-indexed.
146 168
(...skipping 14 matching lines...) Expand all
161 std::string key = base::StringPrintf(kSwitchFormat, key_i++); 183 std::string key = base::StringPrintf(kSwitchFormat, key_i++);
162 base::debug::SetCrashKeyValue(key, switch_str); 184 base::debug::SetCrashKeyValue(key, switch_str);
163 } 185 }
164 186
165 // Clear any remaining switches. 187 // Clear any remaining switches.
166 for (; key_i <= kSwitchesMaxCount; ++key_i) 188 for (; key_i <= kSwitchesMaxCount; ++key_i)
167 base::debug::ClearCrashKey(base::StringPrintf(kSwitchFormat, key_i)); 189 base::debug::ClearCrashKey(base::StringPrintf(kSwitchFormat, key_i));
168 } 190 }
169 191
170 } // namespace crash_keys 192 } // namespace crash_keys
OLDNEW
« no previous file with comments | « components/crash/core/common/crash_keys.h ('k') | components/nacl/broker/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698