import Grid from '@material-ui/core/Grid'; import PropTypes from 'prop-types'; import React from 'react'; import { Trans } from '@lingui/macro'; import Typography from '@material-ui/core/Typography'; import _isEmpty from 'lodash/isEmpty'; import _filter from 'lodash/filter'; import TopRoutesTabs, { topRoutesQueryPropType } from './TopRoutesTabs.jsx'; import Octopus from './Octopus.jsx'; import MetricsTable from './MetricsTable.jsx'; const getResourceForService = (resourceMetrics, serviceName) => { if (resourceMetrics.length === 1) { return resourceMetrics[0]; } const relevantResources = _filter(resourceMetrics, rm => { return !rm.tsStats || rm.tsStats.leaf === serviceName; }); if (relevantResources.length >= 1) { return relevantResources[0]; } return resourceMetrics[0]; }; const ServiceDetail = function({ api, resourceMetrics, resourceName, query, isTcpOnly, pathPrefix, upstreamDisplayMetrics, unmeshedSources, updateUnmeshedSources, upstreams, }) { return (