1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef BASE_METRICS_USER_METRICS_ACTION_H_ 6 #define BASE_METRICS_USER_METRICS_ACTION_H_ 7 8 namespace base { 9 10 // UserMetricsAction exists purely to standardize on the parameters passed to 11 // UserMetrics. That way, our toolset can scan the source code reliable for 12 // constructors and extract the associated string constants. 13 // WARNING: When using UserMetricsAction, UserMetricsAction and a string literal 14 // parameter must be on the same line, e.g. 15 // RecordAction(UserMetricsAction("my extremely long action name")); 16 // or 17 // RenderThread::Get()->RecordAction( 18 // UserMetricsAction("my extremely long action name")); 19 // because otherwise our processing scripts won't pick up on new actions. 20 // Please see tools/metrics/actions/extract_actions.py for details. 21 struct UserMetricsAction { 22 const char* str_; UserMetricsActionUserMetricsAction23 explicit UserMetricsAction(const char* str) : str_(str) {} 24 }; 25 26 } // namespace base 27 28 #endif // BASE_METRICS_USER_METRICS_ACTION_H_ 29