Add more telemetry events

Summary:
Added more telemetry events for the following events

- Time taken for each plugin to fetch meta data
- Overall time taken for fetching all meta data
- Overall time taken for serializing plugins
- Time taken to serialize individual plugins with overridden serializer and deserializer methods

Reviewed By: passy

Differential Revision: D18349588

fbshipit-source-id: 2b3a6b663a9df4da45580fc0be5651a27ca4093d
This commit is contained in:
Pritesh Nandgaonkar
2019-11-08 05:03:36 -08:00
committed by Facebook Github Bot
parent 2f5096ddc8
commit f4a42cc4ea
3 changed files with 35 additions and 7 deletions

View File

@@ -38,6 +38,7 @@ import {reportPlatformFailures} from '../utils/metrics';
import CancellableExportStatus from './CancellableExportStatus';
import {performance} from 'perf_hooks';
import ShareSheetPendingDialog from './ShareSheetPendingDialog';
import {getInstance as getLogger} from '../fb-stubs/Logger';
export const SHARE_FLIPPER_TRACE_EVENT = 'share-flipper-link';
const Container = styled(FlexColumn)({
@@ -119,7 +120,8 @@ export default class ShareSheetExportUrl extends Component<Props, State> {
exportStore(store, this.idler, statusUpdate),
`${EXPORT_FLIPPER_TRACE_EVENT}:UI_LINK`,
);
const uploadMarker = `${EXPORT_FLIPPER_TRACE_EVENT}:upload`;
performance.mark(uploadMarker);
statusUpdate('Uploading Flipper Trace...');
// TODO(T55169042): Implement error handling. Result is not tested
// its result type right now, causing the upload indicator to stall forever.
@@ -127,7 +129,9 @@ export default class ShareSheetExportUrl extends Component<Props, State> {
shareFlipperData(serializedString),
`${SHARE_FLIPPER_TRACE_EVENT}`,
);
getLogger().trackTimeSince(uploadMarker, uploadMarker, {
plugins: store.getState().plugins.selectedPlugins,
});
this.setState({errorArray, result});
const flipperUrl = (result as DataExportResult).flipperUrl;
if (flipperUrl) {