|
@@ -17,12 +17,13 @@ import {
|
|
|
} from 'sentry/utils/performance/contexts/pageError';
|
|
|
import useOrganization from 'sentry/utils/useOrganization';
|
|
|
import {normalizeUrl} from 'sentry/utils/withDomainRequired';
|
|
|
-import {P95_COLOR, THROUGHPUT_COLOR} from 'sentry/views/starfish/colours';
|
|
|
+import {ERRORS_COLOR, P95_COLOR, THROUGHPUT_COLOR} from 'sentry/views/starfish/colours';
|
|
|
import Chart, {useSynchronizeCharts} from 'sentry/views/starfish/components/chart';
|
|
|
import ChartPanel from 'sentry/views/starfish/components/chartPanel';
|
|
|
import StarfishDatePicker from 'sentry/views/starfish/components/datePicker';
|
|
|
import StarfishPageFilterContainer from 'sentry/views/starfish/components/pageFilterContainer';
|
|
|
import {SpanDescription} from 'sentry/views/starfish/components/spanDescription';
|
|
|
+import {CountCell} from 'sentry/views/starfish/components/tableCells/countCell';
|
|
|
import DurationCell from 'sentry/views/starfish/components/tableCells/durationCell';
|
|
|
import ThroughputCell from 'sentry/views/starfish/components/tableCells/throughputCell';
|
|
|
import {TimeSpentCell} from 'sentry/views/starfish/components/tableCells/timeSpentCell';
|
|
@@ -79,6 +80,7 @@ function SpanSummaryPage({params, location}: Props) {
|
|
|
`sum(${SPAN_SELF_TIME})`,
|
|
|
`p95(${SPAN_SELF_TIME})`,
|
|
|
'time_spent_percentage()',
|
|
|
+ 'http_error_count()',
|
|
|
],
|
|
|
'span-summary-page-metrics'
|
|
|
);
|
|
@@ -89,7 +91,7 @@ function SpanSummaryPage({params, location}: Props) {
|
|
|
useSpanMetricsSeries(
|
|
|
{group: groupId},
|
|
|
queryFilter,
|
|
|
- [`p95(${SPAN_SELF_TIME})`, 'sps()'],
|
|
|
+ [`p95(${SPAN_SELF_TIME})`, 'sps()', 'http_error_count()'],
|
|
|
'span-summary-page-metrics'
|
|
|
);
|
|
|
|
|
@@ -163,6 +165,14 @@ function SpanSummaryPage({params, location}: Props) {
|
|
|
milliseconds={spanMetrics?.[`p95(${SPAN_SELF_TIME})`]}
|
|
|
/>
|
|
|
</Block>
|
|
|
+ {span?.['span.op']?.startsWith('http') && (
|
|
|
+ <Block
|
|
|
+ title={t('5XX Responses')}
|
|
|
+ description={t('5XX responses in this span')}
|
|
|
+ >
|
|
|
+ <CountCell count={spanMetrics?.[`http_error_count()`]} />
|
|
|
+ </Block>
|
|
|
+ )}
|
|
|
<Block
|
|
|
title={t('Time Spent')}
|
|
|
description={t(
|
|
@@ -227,6 +237,25 @@ function SpanSummaryPage({params, location}: Props) {
|
|
|
/>
|
|
|
</ChartPanel>
|
|
|
</Block>
|
|
|
+
|
|
|
+ {span?.['span.op']?.startsWith('http') && (
|
|
|
+ <Block>
|
|
|
+ <ChartPanel title={DataTitles.errorCount}>
|
|
|
+ <Chart
|
|
|
+ statsPeriod="24h"
|
|
|
+ height={140}
|
|
|
+ data={[spanMetricsSeriesData?.[`http_error_count()`]]}
|
|
|
+ start=""
|
|
|
+ end=""
|
|
|
+ loading={areSpanMetricsSeriesLoading}
|
|
|
+ utc={false}
|
|
|
+ chartColors={[ERRORS_COLOR]}
|
|
|
+ isLineChart
|
|
|
+ definedAxisTicks={4}
|
|
|
+ />
|
|
|
+ </ChartPanel>
|
|
|
+ </Block>
|
|
|
+ )}
|
|
|
</BlockContainer>
|
|
|
)}
|
|
|
|