Skip to content

Commit 6c91bc2

Browse files
committed
added empty state in metrics
1 parent f4753db commit 6c91bc2

File tree

2 files changed

+25
-25
lines changed

2 files changed

+25
-25
lines changed

packages/spotlight/src/ui/telemetry/components/metrics/MetricsList.tsx

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import type { SentryMetricPayload } from "../../types";
2323
import { getFormattedNumber } from "../../utils/duration";
2424
import { aggregateMetrics, calculatePercentiles, groupMetricsByName } from "../../utils/metrics";
2525
import { truncateId } from "../../utils/text";
26+
import EmptyState from "../shared/EmptyState";
2627
import MetricDetail from "./MetricDetail";
2728
import MetricTypeBadge from "./components/MetricTypeBadge";
2829

@@ -141,18 +142,19 @@ export default function MetricsList({ traceId }: MetricsListProps) {
141142
});
142143
}, []);
143144

144-
//TODO: to add Empty state here once #1264 is merged.
145145
if (allMetrics.length === 0) {
146146
return (
147-
<CardList>
148-
<p className="text-primary-300 px-6 py-4">
149-
No metrics yet. Send some trace-connected metrics to see them here.
150-
</p>
151-
</CardList>
147+
<EmptyState
148+
variant={traceId ? "simple" : "full"}
149+
className={traceId ? undefined : "h-full"}
150+
title={traceId ? undefined : "No Metrics"}
151+
description="No metrics yet. Send some trace-connected metrics to see them here."
152+
showDocsLink={!traceId}
153+
/>
152154
);
153155
}
154156

155-
const hasActiveFilters = selectedNames.size > 0 || searchQuery.length > 0;
157+
const hasActiveFilters = selectedNames.size > 0;
156158

157159
return (
158160
<>
@@ -241,9 +243,16 @@ export default function MetricsList({ traceId }: MetricsListProps) {
241243
</div>
242244

243245
<CardList>
244-
{/* TODO: to add Empty state here once #1264 is merged. */}
245246
{metricGroups.length === 0 ? (
246-
<p className="text-primary-300 px-6 py-4">No metrics match the current filters.</p>
247+
<EmptyState
248+
variant="simple"
249+
description={
250+
traceId
251+
? "No metrics yet. Send some trace-connected metrics to see them here."
252+
: "No metrics match the current filters."
253+
}
254+
showDocsLink={!traceId}
255+
/>
247256
) : (
248257
metricGroups.map(group => {
249258
const isExpanded = expandedSections.has(group.name);

packages/spotlight/src/ui/telemetry/components/traces/TraceDetails/index.tsx

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -102,18 +102,13 @@ export default function TraceDetails({ trace, aiConfig }: TraceDetailsProps) {
102102
severe: errorCount > 0,
103103
},
104104
}),
105+
createTab("metrics", "Metrics", {
106+
notificationCount: {
107+
count: metrics.length,
108+
},
109+
}),
105110
];
106111

107-
if (metrics.length > 0) {
108-
tabs.push(
109-
createTab("metrics", "Metrics", {
110-
notificationCount: {
111-
count: metrics.length,
112-
},
113-
}),
114-
);
115-
}
116-
117112
if (profile) {
118113
tabs.push(createTab("profileTree", "Profile"));
119114
}
@@ -131,12 +126,8 @@ export default function TraceDetails({ trace, aiConfig }: TraceDetailsProps) {
131126
<Route path="errors" element={<EventList traceId={trace.trace_id} />} />
132127
<Route path="logs" element={<LogsList traceId={trace.trace_id} />} />
133128
<Route path="logs/:id" element={<LogsList traceId={trace.trace_id} />} />
134-
{metrics.length > 0 && (
135-
<>
136-
<Route path="metrics" element={<MetricsList traceId={trace.trace_id} />} />
137-
<Route path="metrics/:metricId/*" element={<MetricsList traceId={trace.trace_id} />} />
138-
</>
139-
)}
129+
<Route path="metrics" element={<MetricsList traceId={trace.trace_id} />} />
130+
<Route path="metrics/:metricId/*" element={<MetricsList traceId={trace.trace_id} />} />
140131
{profile && <Route path="profileTree" element={<TraceProfileTree profile={profile} />} />}
141132
{/* Default tab */}
142133
<Route path="*" element={<Navigate to="context" replace />} />

0 commit comments

Comments
 (0)