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;
|
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) {
|
void cancelMarker(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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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