Remove global state for perf logger
Summary: Instead of installing some global mutable thing, pass it down. This also eliminates the rather gnarly side-effect of instantiating some visitor and suddenly logging information in an entirely different place. Reviewed By: oprisnik Differential Revision: D14131253 fbshipit-source-id: 760c6a3f85056e334ac1149c76ca4126fbfa7da4
This commit is contained in:
committed by
Facebook Github Bot
parent
cf0003a87e
commit
d8d01b4a6f
@@ -1,32 +1,16 @@
|
||||
// Copyright 2004-present Facebook. All Rights Reserved.
|
||||
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the LICENSE
|
||||
* file in the root directory of this source tree.
|
||||
*/
|
||||
package com.facebook.flipper.perflogger;
|
||||
|
||||
import android.support.annotation.Nullable;
|
||||
public interface FlipperPerfLogger {
|
||||
|
||||
public class FlipperPerfLogger {
|
||||
void startMarker(String name);
|
||||
|
||||
@Nullable private static PerfLoggerDelegate mDelegate;
|
||||
void endMarker(String name);
|
||||
|
||||
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;
|
||||
}
|
||||
void cancelMarker(String name);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the LICENSE
|
||||
* file in the root directory of this source tree.
|
||||
*/
|
||||
package com.facebook.flipper.perflogger;
|
||||
|
||||
public class NoOpFlipperPerfLogger implements FlipperPerfLogger {
|
||||
|
||||
@Override
|
||||
public void startMarker(String name) {}
|
||||
|
||||
@Override
|
||||
public void endMarker(String name) {}
|
||||
|
||||
@Override
|
||||
public void cancelMarker(String name) {}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright 2004-present Facebook. All Rights Reserved.
|
||||
|
||||
package com.facebook.flipper.perflogger;
|
||||
|
||||
public interface PerfLoggerDelegate {
|
||||
void starMarker(String name);
|
||||
|
||||
void endMarker(String name);
|
||||
|
||||
void cancelMarker(String name);
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
// Copyright 2004-present Facebook. All Rights Reserved.
|
||||
|
||||
package com.facebook.flipper.perflogger;
|
||||
|
||||
public class PerfLoggerDelegateInstaller {
|
||||
public static void install(PerfLoggerDelegate delegate) {
|
||||
FlipperPerfLogger.setDelegate(delegate);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user