From 2f4d2af93a25020175ff93f7fb6088b7360ef413 Mon Sep 17 00:00:00 2001 From: Vadim Tryshev Date: Fri, 9 Mar 2018 11:08:53 -0800 Subject: Adding generation of ACTION_TOGGLE_RECENTS to shared lib Bug: 72967764 Test: atest google/perf/app-transition/sysui-latency-test, watch for 1_* entries in output Change-Id: I0bfaa46df4f3167687099742cb3063e88dab30ae --- .../com/android/internal/util/LatencyTracker.java | 13 +++++++-- .../shared/system/LatencyTrackerCompat.java | 34 ++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 packages/SystemUI/shared/src/com/android/systemui/shared/system/LatencyTrackerCompat.java diff --git a/core/java/com/android/internal/util/LatencyTracker.java b/core/java/com/android/internal/util/LatencyTracker.java index 72cd24888dcc..6c3a58ce3908 100644 --- a/core/java/com/android/internal/util/LatencyTracker.java +++ b/core/java/com/android/internal/util/LatencyTracker.java @@ -147,8 +147,17 @@ public class LatencyTracker { } mStartRtc.delete(action); Trace.asyncTraceEnd(Trace.TRACE_TAG_APP, NAMES[action], 0); - long duration = endRtc - startRtc; + logAction(action, (int)(endRtc - startRtc)); + } + + /** + * Logs an action that has started and ended. This needs to be called from the main thread. + * + * @param action The action to end. One of the ACTION_* values. + * @param duration The duration of the action in ms. + */ + public static void logAction(int action, int duration) { Log.i(TAG, "action=" + action + " latency=" + duration); - EventLog.writeEvent(EventLogTags.SYSUI_LATENCY, action, (int) duration); + EventLog.writeEvent(EventLogTags.SYSUI_LATENCY, action, duration); } } diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/LatencyTrackerCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/LatencyTrackerCompat.java new file mode 100644 index 000000000000..0d5933e5f599 --- /dev/null +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/LatencyTrackerCompat.java @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.systemui.shared.system; + +import android.content.Context; + +import com.android.internal.util.LatencyTracker; + +/** + * @see LatencyTracker + */ +public class LatencyTrackerCompat { + public static boolean isEnabled(Context context) { + return LatencyTracker.isEnabled(context); + } + + public static void logToggleRecents(int duration) { + LatencyTracker.logAction(LatencyTracker.ACTION_TOGGLE_RECENTS, duration); + } +} \ No newline at end of file -- cgit v1.2.3-59-g8ed1b