1 // Copyright 2013 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 CONTENT_PUBLIC_COMMON_USER_METRICS_ACTION_H_ 6 #define CONTENT_PUBLIC_COMMON_USER_METRICS_ACTION_H_ 7 8 namespace content { 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( 16 // UserMetricsAction("my extremely long action name")); 17 // or 18 // RenderThread::Get()->RecordAction( 19 // UserMetricsAction("my extremely long action name")); 20 // because otherwise our processing scripts won't pick up on new actions. 21 // Please see tools/metrics/actions/extract_actions.py for details. 22 struct UserMetricsAction { 23 const char* str_; 24 explicit UserMetricsAction(const char* str) : str_(str) {} 25 }; 26 27 } // namespace content 28 29 #endif // CONTENT_PUBLIC_COMMON_USER_METRICS_ACTION_H_ 30