From 7f77dd1c1a3c6dcec67de3179d1fbb62433fe2b3 Mon Sep 17 00:00:00 2001 From: Pascal Hartig Date: Wed, 20 Feb 2019 02:48:37 -0800 Subject: [PATCH] Move logging interface out of QPL plugin Summary: This is generic enough, even though I strongly dislike the installing mechanism, but that can be changed later. Reviewed By: oprisnik Differential Revision: D14131183 fbshipit-source-id: b75c1e1563ac9371cbc7d28b239c316a0aa1a9dd --- .../flipper/perflogger/FlipperPerfLogger.java | 32 +++++++++++++++++++ .../perflogger/PerfLoggerDelegate.java | 11 +++++++ .../PerfLoggerDelegateInstaller.java | 9 ++++++ 3 files changed, 52 insertions(+) create mode 100644 android/src/main/java/com/facebook/flipper/perflogger/FlipperPerfLogger.java create mode 100644 android/src/main/java/com/facebook/flipper/perflogger/PerfLoggerDelegate.java create mode 100644 android/src/main/java/com/facebook/flipper/perflogger/PerfLoggerDelegateInstaller.java diff --git a/android/src/main/java/com/facebook/flipper/perflogger/FlipperPerfLogger.java b/android/src/main/java/com/facebook/flipper/perflogger/FlipperPerfLogger.java new file mode 100644 index 000000000..9682313c3 --- /dev/null +++ b/android/src/main/java/com/facebook/flipper/perflogger/FlipperPerfLogger.java @@ -0,0 +1,32 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +package com.facebook.flipper.plugins.qpl.api; + +import android.support.annotation.Nullable; + +public class FlipperPerfLogger { + + @Nullable private static PerfLoggerDelegate mDelegate; + + public static void startMarker(String name) { + if (mDelegate != null) { + mDelegate.starMarker(name); + } + } + + public static void endMarker(String name) { + if (mDelegate != null) { + mDelegate.endMarker(name); + } + } + + public static void cancelMarker(String name) { + if (mDelegate != null) { + mDelegate.cancelMarker(name); + } + } + + static void setDelegate(PerfLoggerDelegate delegate) { + mDelegate = delegate; + } +} diff --git a/android/src/main/java/com/facebook/flipper/perflogger/PerfLoggerDelegate.java b/android/src/main/java/com/facebook/flipper/perflogger/PerfLoggerDelegate.java new file mode 100644 index 000000000..4abaaf33b --- /dev/null +++ b/android/src/main/java/com/facebook/flipper/perflogger/PerfLoggerDelegate.java @@ -0,0 +1,11 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +package com.facebook.flipper.plugins.qpl.api; + +public interface PerfLoggerDelegate { + void starMarker(String name); + + void endMarker(String name); + + void cancelMarker(String name); +} diff --git a/android/src/main/java/com/facebook/flipper/perflogger/PerfLoggerDelegateInstaller.java b/android/src/main/java/com/facebook/flipper/perflogger/PerfLoggerDelegateInstaller.java new file mode 100644 index 000000000..60903fd39 --- /dev/null +++ b/android/src/main/java/com/facebook/flipper/perflogger/PerfLoggerDelegateInstaller.java @@ -0,0 +1,9 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +package com.facebook.flipper.plugins.qpl.api; + +public class PerfLoggerDelegateInstaller { + public static void install(PerfLoggerDelegate delegate) { + FlipperPerfLogger.setDelegate(delegate); + } +}