mirror of https://github.com/rancher/ui.git
38 lines
1.2 KiB
JavaScript
38 lines
1.2 KiB
JavaScript
import Component from '@ember/component';
|
|
import Metrics from 'shared/mixins/metrics';
|
|
import layout from './template';
|
|
import { get, set, observer } from '@ember/object';
|
|
import { formatSecond } from 'shared/utils/util';
|
|
|
|
export default Component.extend(Metrics, {
|
|
layout,
|
|
|
|
filters: { displayResourceType: 'kube-component' },
|
|
|
|
singleStatsDidChange: observer('single.[]', function() {
|
|
const responseSeconds = (get(this, 'single') || []).findBy('graph.title', 'ingresscontroller-upstream-response-seconds');
|
|
|
|
if ( responseSeconds ) {
|
|
set(this, 'responseSeconds', (get(responseSeconds, 'series') || [])
|
|
.sortBy('series.firstObject.points.firstObject.firstObject').map((serie) => {
|
|
const name = get(serie, 'name') || '';
|
|
const tokens = name.substring(24, get(name, 'length') - 1).split(' ');
|
|
let host;
|
|
let path;
|
|
|
|
if ( get(tokens, 'length') === 2 ) {
|
|
host = tokens[0].substring(7, get(tokens[0], 'length'));
|
|
path = tokens[1].substring(5, get(tokens[1], 'length'));
|
|
}
|
|
|
|
return {
|
|
host,
|
|
path,
|
|
time: formatSecond(get(serie, 'points.firstObject.firstObject'))
|
|
}
|
|
}));
|
|
}
|
|
})
|
|
|
|
});
|