From 9086467addbe3b18df460060a29a30b5cd5cd468 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 13 Mar 2018 17:39:34 -0400 Subject: [PATCH] Handle Error stored in redux trace.traces (#195) * Fix 166 - Handle Error objs in redux trace.traces Signed-off-by: Joe Farro * Filter for Error objs one level higher Filter in getTraceSummaries instead of further upstream because the presence of the Error will be useful in resolving #51. Signed-off-by: Joe Farro Signed-off-by: vvvprabhakar --- src/model/search.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/model/search.js b/src/model/search.js index 58d765b387..62dd3ac961 100644 --- a/src/model/search.js +++ b/src/model/search.js @@ -79,11 +79,18 @@ export function getTraceSummary(trace: Trace): TraceSummary { /** * Transforms `Trace` values into `TraceSummary` values and finds the max duration of the traces. * - * @param {Trace} _traces The trace data in the format from the HTTP request. + * @param {(Trace | Error)[]} _traces The trace data in the format from the HTTP request. * @return {TraceSummaries} The `{ traces, maxDuration }` value. */ -export function getTraceSummaries(_traces: Trace[]): TraceSummaries { - const traces = _traces.map(getTraceSummary); +export function getTraceSummaries(_traces: (Trace | Error)[]): TraceSummaries { + const traces = _traces + .map(item => { + if (item instanceof Error) { + return null; + } + return getTraceSummary(item); + }) + .filter(Boolean); const maxDuration = Math.max(..._map(traces, 'duration')); return { maxDuration, traces }; }