Add marker start and end to App to measure the startup time for Flipper (#1398)
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/1398 Pull Request resolved: https://github.com/facebook/flipper/pull/1397 Reviewed By: nubbel Differential Revision: D22549700 fbshipit-source-id: 7553ba075e45f1a515922012d7db4fdefefcaa24
This commit is contained in:
committed by
Facebook GitHub Bot
parent
33cd7d29df
commit
7d06571cfa
@@ -46,6 +46,10 @@ import StatusBar from './chrome/StatusBar';
|
||||
import SettingsSheet from './chrome/SettingsSheet';
|
||||
import DoctorSheet from './chrome/DoctorSheet';
|
||||
import ChangelogSheet, {hasNewChangesToShow} from './chrome/ChangelogSheet';
|
||||
import QuickPerformanceLogger, {
|
||||
QuickLogActionType,
|
||||
FLIPPER_QPL_EVENTS,
|
||||
} from './fb-stubs/QPL';
|
||||
|
||||
const version = remote.app.getVersion();
|
||||
|
||||
@@ -88,7 +92,23 @@ export class App extends React.Component<Props> {
|
||||
'launchTime',
|
||||
launchEndTime - launchStartTime,
|
||||
);
|
||||
|
||||
QuickPerformanceLogger.markerPoint(
|
||||
FLIPPER_QPL_EVENTS.STARTUP,
|
||||
'launchStartTime',
|
||||
undefined,
|
||||
0,
|
||||
launchStartTime,
|
||||
);
|
||||
|
||||
QuickPerformanceLogger.markerEnd(
|
||||
FLIPPER_QPL_EVENTS.STARTUP,
|
||||
QuickLogActionType.SUCCESS,
|
||||
0,
|
||||
launchEndTime,
|
||||
);
|
||||
});
|
||||
|
||||
ipcRenderer.send('getLaunchTime');
|
||||
ipcRenderer.send('componentDidMount');
|
||||
|
||||
|
||||
45
desktop/app/src/fb-stubs/QPL.tsx
Normal file
45
desktop/app/src/fb-stubs/QPL.tsx
Normal file
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* 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.
|
||||
*
|
||||
* @format
|
||||
*/
|
||||
|
||||
export enum QuickLogActionType {
|
||||
START = 1,
|
||||
SUCCESS = 2,
|
||||
FAIL = 3,
|
||||
CANCEL = 4,
|
||||
CANCEL_UNLOAD = 706,
|
||||
INTERRUPTED = 96,
|
||||
}
|
||||
|
||||
export enum FLIPPER_QPL_EVENTS {
|
||||
STARTUP = 52035585,
|
||||
}
|
||||
class QuickPerformanceLogger {
|
||||
markerStart(
|
||||
_markerId: number,
|
||||
_instanceKey?: number,
|
||||
_timestamp?: DOMHighResTimeStamp,
|
||||
): void {}
|
||||
|
||||
markerPoint(
|
||||
_markerId: number,
|
||||
_name: string,
|
||||
_data?: string,
|
||||
_instanceKey?: number,
|
||||
_timestamp?: DOMHighResTimeStamp,
|
||||
): void {}
|
||||
|
||||
markerEnd(
|
||||
_markerId: number,
|
||||
_action: QuickLogActionType,
|
||||
_instanceKey?: number,
|
||||
_timestamp?: DOMHighResTimeStamp,
|
||||
): void {}
|
||||
}
|
||||
|
||||
export default new QuickPerformanceLogger();
|
||||
@@ -34,6 +34,7 @@ import {cache} from 'emotion';
|
||||
import {CacheProvider} from '@emotion/core';
|
||||
import {enableMapSet} from 'immer';
|
||||
import os from 'os';
|
||||
import QuickPerformanceLogger, {FLIPPER_QPL_EVENTS} from './fb-stubs/QPL';
|
||||
|
||||
if (process.env.NODE_ENV === 'development' && os.platform() === 'darwin') {
|
||||
// By default Node.JS has its internal certificate storage and doesn't use
|
||||
@@ -46,6 +47,8 @@ if (process.env.NODE_ENV === 'development' && os.platform() === 'darwin') {
|
||||
|
||||
const logger = initLogger(store);
|
||||
|
||||
QuickPerformanceLogger.markerStart(FLIPPER_QPL_EVENTS.STARTUP);
|
||||
|
||||
enableMapSet();
|
||||
|
||||
GK.init();
|
||||
|
||||
Reference in New Issue
Block a user