diff --git a/src/components/tooltip/Marker.js b/src/components/tooltip/Marker.js index acd35d5778..bf8f4a5850 100644 --- a/src/components/tooltip/Marker.js +++ b/src/components/tooltip/Marker.js @@ -414,7 +414,7 @@ class MarkerTooltipContents extends React.PureComponent { const { data, start } = marker; if (data && 'cause' in data && data.cause) { const { cause } = data; - const causeAge = start - cause.time; + const causeAge = cause.time !== undefined ? start - cause.time : 0; return [ , diff --git a/src/profile-logic/process-profile.js b/src/profile-logic/process-profile.js index 238deb726f..3a57062606 100644 --- a/src/profile-logic/process-profile.js +++ b/src/profile-logic/process-profile.js @@ -1287,7 +1287,7 @@ export function adjustMarkerTimestamps( if (typeof newData.endTime === 'number') { newData.endTime += delta; } - if (newData.cause) { + if (newData.cause && newData.cause.time !== undefined) { newData.cause.time += delta; } if (newData.type === 'Network') { diff --git a/src/profile-logic/processed-profile-versioning.js b/src/profile-logic/processed-profile-versioning.js index bfc5f0c397..9caf9be846 100644 --- a/src/profile-logic/processed-profile-versioning.js +++ b/src/profile-logic/processed-profile-versioning.js @@ -1715,7 +1715,8 @@ const _upgraders = { data && data.type !== 'tracing' && data.type !== 'Styles' && - data.cause + data.cause && + data.cause.time !== undefined ) { data.cause.time += delta; } diff --git a/src/types/markers.js b/src/types/markers.js index 2d9ee679a7..bfe9c1b383 100644 --- a/src/types/markers.js +++ b/src/types/markers.js @@ -134,7 +134,7 @@ export type CauseBacktrace = {| // `tid` is optional because older processed profiles may not have it. // No upgrader was written for this change. tid?: Tid, - time: Milliseconds, + time?: Milliseconds, stack: IndexIntoStackTable, |};