diff --git a/Libraries/Core/InitializeCore.js b/Libraries/Core/InitializeCore.js index 37660a44dd0..69fa9c87089 100644 --- a/Libraries/Core/InitializeCore.js +++ b/Libraries/Core/InitializeCore.js @@ -44,12 +44,12 @@ if (__DEV__) { require('setUpDeveloperTools'); } -const GlobalPerformanceLogger = require('GlobalPerformanceLogger'); -// We could just call GlobalPerformanceLogger.markPoint at the top of the file, -// but then we'd be excluding the time it took to require the logger. +const PerformanceLogger = require('GlobalPerformanceLogger'); +// We could just call PerformanceLogger.markPoint at the top of the file, +// but then we'd be excluding the time it took to require PerformanceLogger. // Instead, we just use Date.now and backdate the timestamp. -GlobalPerformanceLogger.markPoint( +PerformanceLogger.markPoint( 'initializeCore_start', - GlobalPerformanceLogger.currentTimestamp() - (Date.now() - start), + PerformanceLogger.currentTimestamp() - (Date.now() - start), ); -GlobalPerformanceLogger.markPoint('initializeCore_end'); +PerformanceLogger.markPoint('initializeCore_end'); diff --git a/Libraries/Core/setUpBatchedBridge.js b/Libraries/Core/setUpBatchedBridge.js index d4a2c877782..be0335629a2 100644 --- a/Libraries/Core/setUpBatchedBridge.js +++ b/Libraries/Core/setUpBatchedBridge.js @@ -30,7 +30,7 @@ BatchedBridge.registerLazyCallableModule('RCTDeviceEventEmitter', () => BatchedBridge.registerLazyCallableModule('RCTNativeAppEventEmitter', () => require('RCTNativeAppEventEmitter'), ); -BatchedBridge.registerLazyCallableModule('GlobalPerformanceLogger', () => +BatchedBridge.registerLazyCallableModule('PerformanceLogger', () => require('GlobalPerformanceLogger'), ); BatchedBridge.registerLazyCallableModule('JSDevSupportModule', () => diff --git a/Libraries/Inspector/PerformanceOverlay.js b/Libraries/Inspector/PerformanceOverlay.js index 772c621c817..c87b46820db 100644 --- a/Libraries/Inspector/PerformanceOverlay.js +++ b/Libraries/Inspector/PerformanceOverlay.js @@ -10,21 +10,15 @@ 'use strict'; -const PerformanceLoggerContext = require('PerformanceLoggerContext'); -const GlobalPerformanceLogger = require('GlobalPerformanceLogger'); +const PerformanceLogger = require('GlobalPerformanceLogger'); const React = require('React'); const StyleSheet = require('StyleSheet'); const Text = require('Text'); const View = require('View'); class PerformanceOverlay extends React.Component<{}> { - static contextType = PerformanceLoggerContext; render() { - const scopedPerformanceLogger = this.context; - const perfLogs = { - ...scopedPerformanceLogger.getTimespans(), - ...GlobalPerformanceLogger.getTimespans(), - }; + const perfLogs = PerformanceLogger.getTimespans(); const items = []; for (const key in perfLogs) { diff --git a/Libraries/Utilities/GlobalPerformanceLogger.js b/Libraries/Utilities/GlobalPerformanceLogger.js index 825b765c13e..abbd9e4342f 100644 --- a/Libraries/Utilities/GlobalPerformanceLogger.js +++ b/Libraries/Utilities/GlobalPerformanceLogger.js @@ -11,14 +11,5 @@ const createPerformanceLogger = require('createPerformanceLogger'); -/** - * This is a global shared instance of IPerformanceLogger that is created with - * createPerformanceLogger(). - * Any metric that you log with this logger will be attached to *all* in-flight - * TTI/TTRC events so you should use it carefully. If you want to log something - * from your React component you should use PerformanceLoggerContext instead. - * This logger should be used only for global stuff like load_bundle events. - */ const GlobalPerformanceLogger = createPerformanceLogger(); - module.exports = GlobalPerformanceLogger; diff --git a/Libraries/Utilities/PerformanceLoggerContext.js b/Libraries/Utilities/PerformanceLoggerContext.js index 9a16e34bedb..e00b61a7400 100644 --- a/Libraries/Utilities/PerformanceLoggerContext.js +++ b/Libraries/Utilities/PerformanceLoggerContext.js @@ -14,14 +14,7 @@ import * as React from 'react'; import GlobalPerformanceLogger from 'GlobalPerformanceLogger'; import type {IPerformanceLogger} from 'createPerformanceLogger'; -/** - * This is a React Context that provides a scoped instance of IPerformanceLogger. - * We wrap every with a Provider for this context so the logger - * should be available everywhere in your components. - * See React docs about using Context: https://reactjs.org/docs/context.html - */ const PerformanceLoggerContext: React.Context< IPerformanceLogger, > = React.createContext(GlobalPerformanceLogger); - -module.exports = PerformanceLoggerContext; +export default PerformanceLoggerContext; diff --git a/Libraries/Utilities/createPerformanceLogger.js b/Libraries/Utilities/createPerformanceLogger.js index 377ab559315..b432f19c68a 100644 --- a/Libraries/Utilities/createPerformanceLogger.js +++ b/Libraries/Utilities/createPerformanceLogger.js @@ -42,7 +42,6 @@ export type IPerformanceLogger = { markPoint(string, number | void): void, getPoints(): {[key: string]: number}, logPoints(): void, - logEverything(): void, }; const _cookies: {[key: string]: number} = {}; @@ -243,12 +242,6 @@ function createPerformanceLogger(): IPerformanceLogger { infoLog(key + ': ' + this._points[key] + 'ms'); } }, - - logEverything() { - this.logTimespans(); - this.logExtras(); - this.logPoints(); - }, }; return result; } diff --git a/Libraries/Utilities/withPerformanceLoggerContext.js b/Libraries/Utilities/withPerformanceLoggerContext.js deleted file mode 100644 index 173f92c5084..00000000000 --- a/Libraries/Utilities/withPerformanceLoggerContext.js +++ /dev/null @@ -1,53 +0,0 @@ -/** - * 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. - * - * @flow - * @format - */ - -'use strict'; - -const React = require('React'); -const PerformanceLoggerContext = require('PerformanceLoggerContext'); -import type {IPerformanceLogger} from 'createPerformanceLogger'; - -export type PerformanceLoggerContextProps = { - scopedPerformanceLogger: IPerformanceLogger, -}; - -/** - * If you already have one React Context on your component, you can't use - * PerformanceLoggerContext without a consumer for it. This function helps to - * do that. Here's how to use it: - * 1) Intersect Props of your component with PerformanceLoggerContextProps. - * 2) Call this function with Props and RequiredProps of your component. - * You can figure out RequiredProps as $Diff. - */ -function withPerformanceLoggerContext< - TProps: PerformanceLoggerContextProps, - TRequiredProps: PerformanceLoggerContextProps, ->( - Component: React.ComponentType, -): React.ComponentType<$Diff> { - return class WrappedComponent extends React.Component< - $Diff, - > { - render() { - return ( - - {scopedPerformanceLogger => ( - - )} - - ); - } - }; -} - -module.exports = withPerformanceLoggerContext;