@@ -8,7 +8,7 @@ import { withChartViewport, type Viewport } from '../shared/chart/Viewport';
88import { ChartCanvas } from '../shared/chart/Canvas' ;
99import { FastFillStyle } from '../../utils' ;
1010import TextMeasurement from '../../utils/text-measurement' ;
11- import { formatMilliseconds } from '../../utils/format-numbers' ;
11+ import { formatMilliseconds , formatBytes } from '../../utils/format-numbers' ;
1212import { bisectionLeft , bisectionRight } from '../../utils/bisect' ;
1313import type {
1414 updatePreviewSelection ,
@@ -36,6 +36,7 @@ import type {
3636 Marker ,
3737 InnerWindowID ,
3838 Page ,
39+ TimelineUnit ,
3940} from 'firefox-profiler/types' ;
4041import type { CallNodeInfo } from 'firefox-profiler/profile-logic/call-node-info' ;
4142
@@ -77,6 +78,7 @@ type OwnProps = {
7778 readonly marginLeft : CssPixels ;
7879 readonly displayStackType : boolean ;
7980 readonly useStackChartSameWidths : boolean ;
81+ readonly timelineUnit : TimelineUnit ;
8082} ;
8183
8284type Props = Readonly <
@@ -617,6 +619,12 @@ class StackChartCanvasImpl extends React.PureComponent<Props> {
617619 const duration =
618620 timing . end [ stackTimingIndex ] - timing . start [ stackTimingIndex ] ;
619621
622+ const { timelineUnit } = this . props ;
623+ const durationText =
624+ timelineUnit === 'bytes'
625+ ? formatBytes ( duration )
626+ : formatMilliseconds ( duration ) ;
627+
620628 return (
621629 < TooltipCallNode
622630 thread = { thread }
@@ -628,7 +636,7 @@ class StackChartCanvasImpl extends React.PureComponent<Props> {
628636 categories = { categories }
629637 // The stack chart doesn't support other call tree summary types.
630638 callTreeSummaryStrategy = "timing"
631- durationText = { formatMilliseconds ( duration ) }
639+ durationText = { durationText }
632640 displayStackType = { displayStackType }
633641 />
634642 ) ;
0 commit comments