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 8namespace 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. 21struct UserMetricsAction { 22 const char* str_; 23 explicit UserMetricsAction(const char* str) : str_(str) {} 24}; 25 26} // namespace base 27 28#endif // BASE_METRICS_USER_METRICS_ACTION_H_ 29