blob: c0a8b8022ed3ab558c6f5e0219df02998d73461d [file] [log] [blame]
// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.base.metrics;
import org.chromium.base.TimeUtils;
/**
* Java API for recording UMA actions.
* <p>
* WARNINGS: JNI calls are relatively costly - avoid using in performance-critical code.
* <p>
* Action names must be documented in {@code actions.xml}. See {@link
* https://source.chromium.org/chromium/chromium/src/+/main:tools/metrics/actions/README.md} <p>
* We use a script ({@code extract_actions.py{}) to scan the source code and extract actions. A
* string literal (not a variable) must be passed to {@link #record(String)}.
*/
public class RecordUserAction {
/**
* Similar to {@code base::RecordAction()} in C++.
* <p>
* Record that the user performed an action. See tools/metrics/actions/README.md
*/
public static void record(final String action) {
UmaRecorderHolder.get().recordUserAction(action, TimeUtils.elapsedRealtimeMillis());
}
}