-
-
- ({
- x: t.timestamp,
- y: t.duration,
- traceID: t.traceID,
- size: t.numberOfSpans,
- name: t.traceName,
- }))}
- onValueClick={t => {
- goToTrace(t.traceID);
- }}
- />
-
-
-
-
- {traces.length} Trace{traces.length > 1 && 's'}
-
+
+
+
+ ({
+ x: t.timestamp,
+ y: t.duration,
+ traceID: t.traceID,
+ size: t.numberOfSpans,
+ name: t.traceName,
+ }))}
+ onValueClick={t => {
+ goToTrace(t.traceID);
+ }}
+ />
+
+
+
+
+ {traces.length} Trace{traces.length > 1 && 's'}
+
+
+
+
+ {traces.map(trace => (
+ -
+
+
+
+
+ ))}
+
+
-
-
- {traces.map(trace => (
- -
-
-
-
-
- ))}
-
-
-
- );
+ );
+ }
}
diff --git a/src/components/SearchTracePage/index.js b/src/components/SearchTracePage/index.js
index 8e3f52a65c..c832f0590b 100644
--- a/src/components/SearchTracePage/index.js
+++ b/src/components/SearchTracePage/index.js
@@ -139,6 +139,12 @@ const stateTraceXformer = getLastXformCacher(stateTrace => {
return { traces, maxDuration, traceError, loadingTraces };
});
+const sortedTracesXformer = getLastXformCacher((traces, sortBy) => {
+ const traceResults = traces.slice();
+ sortTraces(traceResults, sortBy);
+ return traceResults;
+});
+
const stateServicesXformer = getLastXformCacher(stateServices => {
const {
loading: loadingServices,
@@ -169,17 +175,16 @@ export function mapStateToProps(state) {
errors.push(serviceError);
}
const sortBy = sortFormSelector(state, 'sortBy');
- sortTraces(traces, sortBy);
-
+ const traceResults = sortedTracesXformer(traces, sortBy);
return {
isHomepage,
services,
+ traceResults,
loadingTraces,
loadingServices,
errors: errors.length ? errors : null,
maxTraceDuration: maxDuration,
sortTracesBy: sortBy,
- traceResults: traces,
urlQueryParams: query,
};
}
diff --git a/src/index.js b/src/index.js
index 6657e48778..004ee47082 100644
--- a/src/index.js
+++ b/src/index.js
@@ -21,8 +21,10 @@ import { document } from 'global';
import JaegerUIApp from './components/App';
import { init as initTracking } from './utils/metrics';
+import 'u-basscss/css/flexbox.css';
import 'u-basscss/css/layout.css';
import 'u-basscss/css/margin.css';
+import 'u-basscss/css/padding.css';
import 'u-basscss/css/position.css';
import 'u-basscss/css/typography.css';