"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.FunctionRow = FunctionRow; var _eui = require("@elastic/eui"); var _i18n = require("@kbn/i18n"); var _react = _interopRequireDefault(require("react")); var _functions = require("../../../common/functions"); var _as_cost = require("../../utils/formatters/as_cost"); var _as_weight = require("../../utils/formatters/as_weight"); var _stack_frame_summary = require("../stack_frame_summary"); var _cpu_stat = require("./cpu_stat"); var _sample_stat = require("./sample_stat"); /* * 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 FunctionRow({ functionRow, columnId, totalCount, onFrameClick, setCellProps }) { var _functionRow$impactEs, _functionRow$impactEs2, _functionRow$impactEs3, _functionRow$impactEs4; const theme = (0, _eui.useEuiTheme)(); const successColor = (0, _eui.useEuiBackgroundColor)('success'); const dangerColor = (0, _eui.useEuiBackgroundColor)('danger'); if (columnId === _functions.TopNFunctionSortField.Diff) { if (!functionRow.diff) { return /*#__PURE__*/_react.default.createElement(_eui.EuiText, { size: "xs", color: theme.euiTheme.colors.primaryText }, _i18n.i18n.translate('xpack.profiling.functionsView.newLabel', { defaultMessage: 'New' })); } if (functionRow.diff.rank === 0) { return null; } const color = functionRow.diff.rank > 0 ? 'success' : 'danger'; setCellProps({ style: { backgroundColor: color === 'success' ? successColor : dangerColor } }); return /*#__PURE__*/_react.default.createElement(_eui.EuiFlexGroup, { direction: "row", gutterSize: "xs" }, /*#__PURE__*/_react.default.createElement(_eui.EuiFlexItem, { grow: false }, /*#__PURE__*/_react.default.createElement(_eui.EuiIcon, { type: functionRow.diff.rank > 0 ? 'sortUp' : 'sortDown', color: color })), /*#__PURE__*/_react.default.createElement(_eui.EuiFlexItem, { grow: false }, /*#__PURE__*/_react.default.createElement(_eui.EuiText, { size: "s" }, Math.abs(functionRow.diff.rank)))); } if (columnId === _functions.TopNFunctionSortField.Rank) { return /*#__PURE__*/_react.default.createElement("div", null, functionRow.rank); } if (columnId === _functions.TopNFunctionSortField.Frame) { return /*#__PURE__*/_react.default.createElement(_stack_frame_summary.StackFrameSummary, { frame: functionRow.frame, onFrameClick: onFrameClick }); } if (columnId === _functions.TopNFunctionSortField.Samples) { var _functionRow$diff; setCellProps({ css: { textAlign: 'right' } }); return /*#__PURE__*/_react.default.createElement(_sample_stat.SampleStat, { samples: functionRow.samples, diffSamples: (_functionRow$diff = functionRow.diff) === null || _functionRow$diff === void 0 ? void 0 : _functionRow$diff.samples, totalSamples: totalCount }); } if (columnId === _functions.TopNFunctionSortField.SelfCPU) { var _functionRow$diff2; return /*#__PURE__*/_react.default.createElement(_cpu_stat.CPUStat, { cpu: functionRow.selfCPUPerc, diffCPU: (_functionRow$diff2 = functionRow.diff) === null || _functionRow$diff2 === void 0 ? void 0 : _functionRow$diff2.selfCPUPerc }); } if (columnId === _functions.TopNFunctionSortField.TotalCPU) { var _functionRow$diff3; return /*#__PURE__*/_react.default.createElement(_cpu_stat.CPUStat, { cpu: functionRow.totalCPUPerc, diffCPU: (_functionRow$diff3 = functionRow.diff) === null || _functionRow$diff3 === void 0 ? void 0 : _functionRow$diff3.totalCPUPerc }); } if (columnId === _functions.TopNFunctionSortField.AnnualizedCo2 && (_functionRow$impactEs = functionRow.impactEstimates) !== null && _functionRow$impactEs !== void 0 && (_functionRow$impactEs2 = _functionRow$impactEs.selfCPU) !== null && _functionRow$impactEs2 !== void 0 && _functionRow$impactEs2.annualizedCo2) { return /*#__PURE__*/_react.default.createElement("div", null, (0, _as_weight.asWeight)(functionRow.impactEstimates.selfCPU.annualizedCo2)); } if (columnId === _functions.TopNFunctionSortField.AnnualizedDollarCost && (_functionRow$impactEs3 = functionRow.impactEstimates) !== null && _functionRow$impactEs3 !== void 0 && (_functionRow$impactEs4 = _functionRow$impactEs3.selfCPU) !== null && _functionRow$impactEs4 !== void 0 && _functionRow$impactEs4.annualizedDollarCost) { return /*#__PURE__*/_react.default.createElement("div", null, (0, _as_cost.asCost)(functionRow.impactEstimates.selfCPU.annualizedDollarCost)); } return null; }