"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.ServiceMetrics = ServiceMetrics; var _eui = require("@elastic/eui"); var _i18n = require("@kbn/i18n"); var _react = _interopRequireDefault(require("react")); var _chart_pointer_event_context = require("../../../../context/chart_pointer_event/chart_pointer_event_context"); var _use_apm_params = require("../../../../hooks/use_apm_params"); var _use_fetcher = require("../../../../hooks/use_fetcher"); var _use_service_metric_charts_fetcher = require("../../../../hooks/use_service_metric_charts_fetcher"); var _use_time_range = require("../../../../hooks/use_time_range"); var _metrics_chart = require("../../../shared/charts/metrics_chart"); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ function ServiceMetrics() { const { query: { environment, kuery, rangeFrom, rangeTo } } = (0, _use_apm_params.useApmParams)('/services/{serviceName}/metrics'); const { data, status } = (0, _use_service_metric_charts_fetcher.useServiceMetricChartsFetcher)({ serviceNodeName: undefined, environment, kuery }); const { start, end } = (0, _use_time_range.useTimeRange)({ rangeFrom, rangeTo }); const isLoading = (0, _use_fetcher.isPending)(status); if (isLoading) { return /*#__PURE__*/_react.default.createElement(_eui.EuiEmptyPrompt, { icon: /*#__PURE__*/_react.default.createElement(_eui.EuiLoadingLogo, { logo: "logoObservability", size: "xl" }), title: /*#__PURE__*/_react.default.createElement("h2", null, _i18n.i18n.translate('xpack.apm.serviceMetrics.loading', { defaultMessage: 'Loading metrics' })) }); } return /*#__PURE__*/_react.default.createElement(_chart_pointer_event_context.ChartPointerEventContextProvider, null, /*#__PURE__*/_react.default.createElement(_eui.EuiFlexGrid, { columns: 2, gutterSize: "s" }, data.charts.map(chart => /*#__PURE__*/_react.default.createElement(_eui.EuiFlexItem, { key: chart.key }, /*#__PURE__*/_react.default.createElement(_eui.EuiPanel, { hasBorder: true }, /*#__PURE__*/_react.default.createElement(_metrics_chart.MetricsChart, { start: start, end: end, chart: chart, fetchStatus: status }))))), /*#__PURE__*/_react.default.createElement(_eui.EuiSpacer, { size: "xxl" })); }