Skip to content

Commit f691425

Browse files
authored
feat(trace): Desaturate on hover, fix durations (#70661)
### Summary This fixes trace duration and hover saturation.
1 parent aacdcfd commit f691425

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

static/app/views/performance/traces/content.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -529,17 +529,20 @@ const BreakdownPanelItem = styled(StyledPanelItem)<{highlightedSliceName: string
529529
${p =>
530530
p.highlightedSliceName
531531
? `--highlightedSlice-${p.highlightedSliceName}-opacity: 1.0;
532+
--highlightedSlice-${p.highlightedSliceName}-saturate: saturate(1.0);
532533
--highlightedSlice-${p.highlightedSliceName}-transform: translateY(0px);
533534
`
534535
: null}
535536
${p =>
536537
p.highlightedSliceName
537538
? `
538539
--defaultSlice-opacity: 1.0;
540+
--defaultSlice-saturate: saturate(0.8);
539541
--defaultSlice-transform: translateY(0px);
540542
`
541543
: `
542544
--defaultSlice-opacity: 1.0;
545+
--defaultSlice-saturate: saturate(1.0);
543546
--defaultSlice-transform: translateY(0px);
544547
`}
545548
`;

static/app/views/performance/traces/fieldRenderers.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ const RectangleTraceBreakdown = styled(RowRectangle)<{
7171
position: relative;
7272
width: 100%;
7373
height: 15px;
74+
${p => `
75+
filter: var(--highlightedSlice-${p.sliceName}-saturate, var(--defaultSlice-saturate));
76+
`}
7477
${p => `
7578
opacity: var(--highlightedSlice-${p.sliceName ?? ''}-opacity, var(--defaultSlice-opacity, 1.0));
7679
`}
@@ -124,8 +127,8 @@ export function TraceBreakdownRenderer({
124127
}
125128

126129
const BREAKDOWN_BAR_SIZE = 200;
127-
const BREAKDOWN_QUANTIZE_STEP = 5;
128-
const BREAKDOWN_BAR_WIDTH = BREAKDOWN_BAR_SIZE / BREAKDOWN_QUANTIZE_STEP;
130+
const BREAKDOWN_QUANTIZE_STEP = 1;
131+
const BREAKDOWN_NUM_SLICES = BREAKDOWN_BAR_SIZE / BREAKDOWN_QUANTIZE_STEP; // 200
129132

130133
export function SpanBreakdownSliceRenderer({
131134
trace,
@@ -146,8 +149,8 @@ export function SpanBreakdownSliceRenderer({
146149
trace: TraceResult<Field>;
147150
offset?: number;
148151
}) {
149-
const traceDuration =
150-
Math.floor((trace.end - trace.start) / BREAKDOWN_BAR_WIDTH) * BREAKDOWN_BAR_WIDTH;
152+
const traceSliceSize = (trace.end - trace.start) / BREAKDOWN_NUM_SLICES;
153+
const traceDuration = BREAKDOWN_NUM_SLICES * traceSliceSize;
151154

152155
const sliceDuration = sliceEnd - sliceStart;
153156

@@ -160,11 +163,11 @@ export function SpanBreakdownSliceRenderer({
160163

161164
const sliceWidth =
162165
BREAKDOWN_QUANTIZE_STEP *
163-
Math.ceil(BREAKDOWN_BAR_WIDTH * (sliceDuration / traceDuration));
166+
Math.ceil(BREAKDOWN_NUM_SLICES * (sliceDuration / traceDuration));
164167
const relativeSliceStart = sliceStart - trace.start;
165168
const sliceOffset =
166169
BREAKDOWN_QUANTIZE_STEP *
167-
Math.floor((BREAKDOWN_BAR_WIDTH * relativeSliceStart) / traceDuration);
170+
Math.floor((BREAKDOWN_NUM_SLICES * relativeSliceStart) / traceDuration);
168171
return (
169172
<BreakdownSlice
170173
sliceName={sliceName}

0 commit comments

Comments
 (0)