From eea7e1830b1bac9fb872eda2ffa968141021ba20 Mon Sep 17 00:00:00 2001 From: Pascal Hartig Date: Fri, 21 Jun 2019 06:29:53 -0700 Subject: [PATCH] Track time for URL exports Summary: Per title. Reviewed By: jknoxville Differential Revision: D15939231 fbshipit-source-id: edf6c854298b52d777cda56df14f268814fba9d2 --- src/App.js | 2 +- src/chrome/ShareSheet.js | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/App.js b/src/App.js index fa6d915a7..1475d49f2 100644 --- a/src/App.js +++ b/src/App.js @@ -78,7 +78,7 @@ export class App extends React.Component { case ACTIVE_SHEET_PLUGIN_DEBUGGER: return ; case ACTIVE_SHEET_SHARE_DATA: - return ; + return ; case ACTIVE_SHEET_SIGN_IN: return ; case ACTIVE_SHEET_SHARE_DATA_IN_FILE: diff --git a/src/chrome/ShareSheet.js b/src/chrome/ShareSheet.js index d7c5e90ad..b1a318a54 100644 --- a/src/chrome/ShareSheet.js +++ b/src/chrome/ShareSheet.js @@ -17,11 +17,14 @@ import { Spacer, Input, } from 'flipper'; +import type {Logger} from '../fb-interfaces/Logger.js'; import {shareFlipperData} from '../fb-stubs/user'; import {exportStore, EXPORT_FLIPPER_TRACE_EVENT} from '../utils/exportData.js'; import PropTypes from 'prop-types'; import {clipboard} from 'electron'; import {reportPlatformFailures} from '../utils/metrics'; +// $FlowFixMe: Missing type defs for node built-in. +import {performance} from 'perf_hooks'; export const SHARE_FLIPPER_TRACE_EVENT = 'share-flipper-link'; const Container = styled(FlexColumn)({ @@ -72,6 +75,7 @@ const Padder = styled('div')( type Props = { onHide: () => mixed, + logger: Logger, }; type State = { errorArray: Array, @@ -96,6 +100,8 @@ export default class ShareSheet extends Component { }; async componentDidMount() { + const mark = 'shareSheetExportUrl'; + performance.mark(mark); try { const {serializedString, errorArray} = await reportPlatformFailures( exportStore(this.context.store), @@ -115,6 +121,7 @@ export default class ShareSheet extends Component { requireInteraction: true, }); } + this.props.logger.trackTimeSince(mark, 'export:url-success'); } catch (e) { this.setState({ result: { @@ -122,7 +129,7 @@ export default class ShareSheet extends Component { error: e, }, }); - return; + this.props.logger.trackTimeSince(mark, 'export:url-error'); } }