Skip to content

Commit 0efb86c

Browse files
authored
feat(insights): minor adjustments to modern frontend overview (#97852)
Some minor changes to the modern frontend overview - Graph p75 on all overview span charts - Add p75 into table - Show `span.duration` instead of `span.self_time` in overview span charts, it's a little more intuitive for the user to understand vs self_time, and in practice it's the same for asssets and http client spans
1 parent f9679e5 commit 0efb86c

File tree

6 files changed

+23
-3
lines changed

6 files changed

+23
-3
lines changed

static/app/views/insights/common/components/tableCells/renderHeadCell.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,10 @@ const SORTABLE_FIELDS = new Set([
7979
'performance_score(measurements.score.total)',
8080
'count_unique(user)',
8181
'p50_if(span.duration,is_transaction,equals,true)',
82+
'p75_if(span.duration,is_transaction,equals,true)',
83+
'p90_if(span.duration,is_transaction,equals,true)',
8284
'p95_if(span.duration,is_transaction,equals,true)',
85+
'p99_if(span.duration,is_transaction,equals,true)',
8386
'failure_rate_if(is_transaction,equals,true)',
8487
'sum_if(span.duration,is_transaction,equals,true)',
8588
'p75(measurements.frames_slow_rate)',

static/app/views/insights/common/components/widgets/overviewSlowAssetsWidget.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ export default function OverviewAssetsByTimeSpentWidget(props: LoadableChartWidg
4646
const search = new MutableSearch(`has:span.group ${resourceQuery} ${query}`);
4747
const referrer = Referrer.ASSETS_BY_TIME_SPENT;
4848
const groupBy = SpanFields.NORMALIZED_DESCRIPTION;
49-
const yAxes = 'sum(span.self_time)';
50-
const totalTimeField = 'sum(span.self_time)';
49+
const yAxes = 'p75(span.duration)';
50+
const totalTimeField = 'sum(span.duration)';
5151

5252
const {
5353
data: assetListData,
@@ -93,6 +93,12 @@ export default function OverviewAssetsByTimeSpentWidget(props: LoadableChartWidg
9393

9494
const colorPalette = theme.chart.getColorPalette(assetSeriesData.length - 1);
9595

96+
const aliases: Record<string, string> = {};
97+
98+
assetListData.forEach(item => {
99+
aliases[item[groupBy]] = `${yAxes}, ${item[groupBy]}`;
100+
});
101+
96102
const visualization = (
97103
<WidgetVisualizationStates
98104
isEmpty={!hasData}
@@ -107,6 +113,7 @@ export default function OverviewAssetsByTimeSpentWidget(props: LoadableChartWidg
107113
(ts, index) =>
108114
new Line(convertSeriesToTimeseries(ts), {
109115
color: colorPalette[index],
116+
alias: aliases[ts.seriesName],
110117
})
111118
),
112119
...props,

static/app/views/insights/common/components/widgets/overviewTimeConsumingRequestsWidget.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export default function OverviewTimeConsumingRequestsWidget(
4545
const search = new MutableSearch(`${SpanFields.SPAN_CATEGORY}:http ${query}`);
4646
const referrer = Referrer.TIME_CONSUMING_REQUESTS;
4747
const groupBy = SpanFields.SPAN_DOMAIN;
48-
const yAxes = `avg(${SpanFields.SPAN_SELF_TIME})`;
48+
const yAxes = `p75(${SpanFields.SPAN_DURATION})`;
4949
const totalTimeField = `sum(${SpanFields.SPAN_SELF_TIME})`;
5050
const title = t('Network Requests by Time Spent');
5151

static/app/views/insights/pages/frontend/frontendOverviewPage.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ function EAPOverviewPage() {
225225
'project',
226226
'tpm()',
227227
'p50_if(span.duration,is_transaction,equals,true)',
228+
'p75_if(span.duration,is_transaction,equals,true)',
228229
'p95_if(span.duration,is_transaction,equals,true)',
229230
'failure_rate_if(is_transaction,equals,true)',
230231
...(displayPerfScore

static/app/views/insights/pages/frontend/frontendOverviewTable.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ type Row = Pick<
3232
| 'project'
3333
| 'tpm()'
3434
| 'p50_if(span.duration,is_transaction,equals,true)'
35+
| 'p75_if(span.duration,is_transaction,equals,true)'
3536
| 'p95_if(span.duration,is_transaction,equals,true)'
3637
| 'failure_rate_if(is_transaction,equals,true)'
3738
| 'count_unique(user)'
@@ -45,6 +46,7 @@ type Column = GridColumnHeader<
4546
| 'project'
4647
| 'tpm()'
4748
| 'p50_if(span.duration,is_transaction,equals,true)'
49+
| 'p75_if(span.duration,is_transaction,equals,true)'
4850
| 'p95_if(span.duration,is_transaction,equals,true)'
4951
| 'failure_rate_if(is_transaction,equals,true)'
5052
| 'count_unique(user)'
@@ -73,6 +75,11 @@ const COLUMN_ORDER: Column[] = [
7375
name: t('p50()'),
7476
width: COL_WIDTH_UNDEFINED,
7577
},
78+
{
79+
key: `p75_if(span.duration,is_transaction,equals,true)`,
80+
name: t('p75()'),
81+
width: COL_WIDTH_UNDEFINED,
82+
},
7683
{
7784
key: `p95_if(span.duration,is_transaction,equals,true)`,
7885
name: t('p95()'),
@@ -108,6 +115,7 @@ const SORTABLE_FIELDS = [
108115
'project',
109116
'tpm()',
110117
'p50_if(span.duration,is_transaction,equals,true)',
118+
'p75_if(span.duration,is_transaction,equals,true)',
111119
'p95_if(span.duration,is_transaction,equals,true)',
112120
'failure_rate_if(is_transaction,equals,true)',
113121
'count_unique(user)',

static/app/views/insights/pages/frontend/newFrontendOverviewPage.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ export function NewFrontendOverviewPage() {
135135
'project',
136136
'tpm()',
137137
'p50_if(span.duration,is_transaction,equals,true)',
138+
'p75_if(span.duration,is_transaction,equals,true)',
138139
'p95_if(span.duration,is_transaction,equals,true)',
139140
'failure_rate_if(is_transaction,equals,true)',
140141
...(displayPerfScore

0 commit comments

Comments
 (0)