1*6777b538SAndroid Build Coastguard Worker // Copyright 2014 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #ifndef BASE_METRICS_USER_METRICS_ACTION_H_ 6*6777b538SAndroid Build Coastguard Worker #define BASE_METRICS_USER_METRICS_ACTION_H_ 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker namespace base { 9*6777b538SAndroid Build Coastguard Worker 10*6777b538SAndroid Build Coastguard Worker // UserMetricsAction exists purely to standardize on the parameters passed to 11*6777b538SAndroid Build Coastguard Worker // UserMetrics. That way, our toolset can scan the source code reliable for 12*6777b538SAndroid Build Coastguard Worker // constructors and extract the associated string constants. 13*6777b538SAndroid Build Coastguard Worker // WARNING: When using UserMetricsAction you should use a string literal 14*6777b538SAndroid Build Coastguard Worker // parameter e.g. 15*6777b538SAndroid Build Coastguard Worker // RecordAction(UserMetricsAction("my action name")); 16*6777b538SAndroid Build Coastguard Worker // This ensures that our processing scripts can associate this action's hash 17*6777b538SAndroid Build Coastguard Worker // with its metric name. Therefore, it will be possible to retrieve the metric 18*6777b538SAndroid Build Coastguard Worker // name from the hash later on. 19*6777b538SAndroid Build Coastguard Worker // Please see tools/metrics/actions/extract_actions.py for details. 20*6777b538SAndroid Build Coastguard Worker struct UserMetricsAction { 21*6777b538SAndroid Build Coastguard Worker const char* str_; UserMetricsActionUserMetricsAction22*6777b538SAndroid Build Coastguard Worker explicit constexpr UserMetricsAction(const char* str) noexcept : str_(str) {} 23*6777b538SAndroid Build Coastguard Worker }; 24*6777b538SAndroid Build Coastguard Worker 25*6777b538SAndroid Build Coastguard Worker } // namespace base 26*6777b538SAndroid Build Coastguard Worker 27*6777b538SAndroid Build Coastguard Worker #endif // BASE_METRICS_USER_METRICS_ACTION_H_ 28