All Downloads are FREE. Search and download functionalities are using the official Maven repository.

web-interface.assets.325e2d4b-6960.1ed374a3caf7f074a705.js.map Maven / Gradle / Ivy

There is a newer version: 6.0.1
Show newest version
{"version":3,"file":"325e2d4b-6960.1ed374a3caf7f074a705.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/components/metrics/CounterDetails.jsx","webpack://graylog-web-interface/./src/components/metrics/CounterRate.jsx","webpack://graylog-web-interface/./src/components/metrics/GaugeDetails.jsx","webpack://graylog-web-interface/./src/components/metrics/HistogramDetails.jsx","webpack://graylog-web-interface/./src/components/metrics/MeterDetails.jsx","webpack://graylog-web-interface/./src/components/metrics/Metric.jsx","webpack://graylog-web-interface/./src/components/metrics/MetricContainer.tsx","webpack://graylog-web-interface/./src/components/metrics/MetricDetails.jsx","webpack://graylog-web-interface/./src/components/metrics/MetricsComponent.jsx","webpack://graylog-web-interface/./src/components/metrics/MetricsFilterInput.jsx","webpack://graylog-web-interface/./src/components/metrics/MetricsList.jsx","webpack://graylog-web-interface/./src/components/metrics/MetricsMapper.jsx","webpack://graylog-web-interface/./src/components/metrics/TimerDetails.jsx","webpack://graylog-web-interface/./src/logic/metrics/MetricsExtractor.ts"],"sourcesContent":["/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport numeral from 'numeral';\n\nclass CounterDetails extends React.Component {\n  static propTypes = {\n    metric: PropTypes.object.isRequired,\n  };\n\n  render() {\n    const { metric } = this.props.metric;\n\n    return (\n      
\n
Value:
\n
{numeral(metric.count).format('0,0')}
\n
\n );\n }\n}\n\nexport default CounterDetails;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport numeral from 'numeral';\n\nimport TimeHelper from 'util/TimeHelper';\n\nclass CounterRate extends React.Component {\n static propTypes = {\n metric: PropTypes.object,\n showTotal: PropTypes.bool,\n prefix: PropTypes.string,\n suffix: PropTypes.string,\n hideOnZero: PropTypes.bool,\n hideOnMissing: PropTypes.bool,\n };\n\n static defaultProps = {\n showTotal: false,\n prefix: null,\n suffix: 'per second',\n hideOnZero: false,\n hideOnMissing: false,\n };\n\n state = {\n prevMetric: null,\n prevTs: null,\n nowTs: TimeHelper.nowInSeconds(),\n };\n\n UNSAFE_componentWillReceiveProps() {\n this.setState({\n prevMetric: this.props.metric,\n prevTs: this.state.nowTs,\n nowTs: TimeHelper.nowInSeconds(),\n });\n }\n\n _checkPrevMetric = () => {\n return this.state.prevMetric && this.state.prevMetric.count !== undefined && this.state.prevTs;\n };\n\n _placeholder = () => {\n if (this.props.hideOnZero) {\n return null;\n }\n\n return ({this._prefix()}Calculating...);\n };\n\n _prefix = () => {\n if (this.props.prefix) {\n return `${this.props.prefix} `;\n }\n\n return null;\n };\n\n _suffix = () => {\n if (this.props.suffix) {\n return ` ${this.props.suffix}`;\n }\n\n return null;\n };\n\n render() {\n if (!(this.props.metric && this.props.metric.count !== undefined)) {\n if (this.props.hideOnMissing) {\n return null;\n }\n\n if (!this._checkPrevMetric()) {\n return this._placeholder();\n }\n }\n\n const { count } = this.props.metric;\n\n let rate = null;\n\n if (this._checkPrevMetric()) {\n const rateNum = (count - this.state.prevMetric.count) / (this.state.nowTs - this.state.prevTs);\n\n rate = ({this._prefix()}{numeral(rateNum).format('0,0')}{this._suffix()});\n } else {\n return this._placeholder();\n }\n\n if (this.props.hideOnMissing && !rate) {\n return null;\n }\n\n return (\n \n {rate}\n {this.props.showTotal && ({numeral(count).format('0')} total)}\n \n );\n }\n}\n\nexport default CounterRate;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport numeral from 'numeral';\n\nclass GaugeDetails extends React.Component {\n static propTypes = {\n metric: PropTypes.object.isRequired,\n };\n\n render() {\n const gauge = this.props.metric.metric;\n\n return (\n
\n
Value:
\n
{numeral(gauge.value).format('0,0')}
\n
\n );\n }\n}\n\nexport default GaugeDetails;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport numeral from 'numeral';\n\nclass HistogramDetails extends React.Component {\n static propTypes = {\n metric: PropTypes.object.isRequired,\n };\n\n render() {\n const histogram = this.props.metric.metric;\n\n return (\n
\n
95th percentile:
\n
{numeral(histogram.time['95th_percentile']).format('0,0.[00]')}
\n
98th percentile:
\n
{numeral(histogram.time['98th_percentile']).format('0,0.[00]')}
\n
99th percentile:
\n
{numeral(histogram.time['99th_percentile']).format('0,0.[00]')}
\n
Standard deviation:
\n
{numeral(histogram.time.std_dev).format('0,0.[00]')}
\n
Mean:
\n
{numeral(histogram.time.mean).format('0,0.[00]')}
\n
Minimum:
\n
{numeral(histogram.time.min).format('0,0.[00]')}
\n
Maximum:
\n
{numeral(histogram.time.max).format('0,0.[00]')}
\n
Count:
\n
{numeral(histogram.count).format('0,0')}
\n
\n );\n }\n}\n\nexport default HistogramDetails;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport numeral from 'numeral';\n\nclass MeterDetails extends React.Component {\n static propTypes = {\n metric: PropTypes.object.isRequired,\n };\n\n render() {\n const meter = this.props.metric.metric;\n\n return (\n
\n
Total:
\n
{numeral(meter.rate.total).format('0,0')} events
\n
Mean:
\n
{numeral(meter.rate.mean).format('0,0.[00]')} {meter.rate_unit}
\n
1 minute avg:
\n
{numeral(meter.rate.one_minute).format('0,0.[00]')} {meter.rate_unit}
\n
5 minute avg:
\n
{numeral(meter.rate.five_minute).format('0,0.[00]')} {meter.rate_unit}
\n
15 minute avg:
\n
{numeral(meter.rate.fifteen_minute).format('0,0.[00]')} {meter.rate_unit}
\n
\n );\n }\n}\n\nexport default MeterDetails;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport createReactClass from 'create-react-class';\n\nimport { MetricDetails } from 'components/metrics';\nimport { Icon } from 'components/common';\n\nconst Metric = createReactClass({\n displayName: 'Metric',\n\n propTypes: {\n metric: PropTypes.object.isRequired,\n namespace: PropTypes.string.isRequired,\n nodeId: PropTypes.string.isRequired,\n },\n\n getInitialState() {\n return {\n expanded: false,\n };\n },\n\n iconMapping: {\n timer: 'clock',\n histogram: 'signal',\n meter: 'play-circle',\n gauge: 'tachometer-alt',\n counter: 'circle',\n unknown: 'question-circle',\n },\n\n _formatIcon(type) {\n const icon = this.iconMapping[type];\n\n if (icon) {\n return icon;\n }\n\n return this.iconMapping.unknown;\n },\n\n _formatName(metricName) {\n const { namespace } = this.props;\n const split = metricName.split(namespace);\n const unqualifiedMetricName = split.slice(1).join(namespace);\n\n return (\n \n {namespace}\n {unqualifiedMetricName}\n \n );\n },\n\n _showDetails(event) {\n event.preventDefault();\n this.setState({ expanded: !this.state.expanded });\n },\n\n render() {\n const { metric } = this.props;\n const details = this.state.expanded ? : null;\n\n return (\n \n \n {details}\n \n );\n },\n});\n\nexport default Metric;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\n\nimport TimeHelper from 'util/TimeHelper';\nimport connect from 'stores/connect';\nimport MetricsExtractor from 'logic/metrics/MetricsExtractor';\nimport type { ClusterMetric } from 'stores/metrics/MetricsStore';\nimport type { Store } from 'stores/StoreTypes';\nimport { MetricsActions, MetricsStore } from 'stores/metrics/MetricsStore';\n\ntype Props = {\n metrics: ClusterMetric,\n metricsUpdatedAt: number,\n name: string,\n zeroOnMissing: boolean,\n children: React.ReactElement[],\n};\n\nclass MetricContainer extends React.Component {\n static propTypes = {\n metricsUpdatedAt: PropTypes.number,\n name: PropTypes.string.isRequired,\n zeroOnMissing: PropTypes.bool,\n };\n\n static defaultProps = {\n metricsUpdatedAt: TimeHelper.nowInSeconds(),\n zeroOnMissing: true,\n };\n\n componentDidMount() {\n const { name } = this.props;\n\n MetricsActions.addGlobal(name);\n }\n\n shouldComponentUpdate(nextProps) {\n // Do not render this component and it's children when no metric data has changed.\n // This component and the CounterRate component expect to be rendered every second or less often. When using\n // these components on a page that triggers a re-render more often - e.g. by having another setInterval - the\n // calculation in CounterRate will break.\n const { metricsUpdatedAt } = this.props;\n\n if (metricsUpdatedAt !== null && nextProps.metricsUpdatedAt) {\n return nextProps.metricsUpdatedAt > metricsUpdatedAt;\n }\n\n return true;\n }\n\n componentWillUnmount() {\n const { name } = this.props;\n\n MetricsActions.removeGlobal(name);\n }\n\n render() {\n const { children, metrics, name: fullName, zeroOnMissing } = this.props;\n\n if (!metrics) {\n return (Loading...);\n }\n\n let throughput = Object.keys(metrics)\n .map((nodeId) => MetricsExtractor.getValuesForNode(metrics[nodeId], { throughput: fullName }))\n .reduce((accumulator: { throughput?: number }, currentMetric: { throughput: number | undefined | null }): { throughput?: number } => {\n return { throughput: (accumulator.throughput || 0) + (currentMetric.throughput || 0) };\n }, {});\n\n if (zeroOnMissing && (!throughput || !throughput.throughput)) {\n throughput = { throughput: 0 };\n }\n\n return (\n
\n {\n React.Children.map(children, (child) => {\n return React.cloneElement(child, { metric: { full_name: fullName, count: throughput.throughput } });\n })\n }\n
\n );\n }\n}\n\ntype MetricsStoreState = {\n metrics: ClusterMetric,\n metricsUpdatedAt: number,\n};\n\nexport default connect(MetricContainer,\n { metricsStore: MetricsStore as Store },\n ({ metricsStore, ...otherProps }) => ({\n ...otherProps,\n metrics: metricsStore.metrics,\n metricsUpdatedAt: metricsStore.metricsUpdatedAt,\n }));\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport lodash from 'lodash';\nimport styled from 'styled-components';\n\nimport { CounterDetails, GaugeDetails, HistogramDetails, MeterDetails, TimerDetails } from 'components/metrics';\nimport connect from 'stores/connect';\nimport { MetricsActions, MetricsStore } from 'stores/metrics/MetricsStore';\n\nconst StyledMetricDetail = styled.div`\n dl {\n > dt {\n float: left;\n }\n\n &.metric-timer > dd {\n margin-left: 145px;\n }\n\n &.metric-meter > dd {\n margin-left: 115px;\n }\n\n &.metric-gauge > dd {\n margin-left: 90px;\n }\n\n &.metric-counter > dd {\n margin-left: 90px;\n }\n\n &.metric-histogram > dd {\n margin-left: 145px;\n }\n }\n`;\n\nclass MetricDetails extends React.Component {\n static propTypes = {\n metrics: PropTypes.object,\n metric: PropTypes.object.isRequired,\n nodeId: PropTypes.string.isRequired,\n };\n\n static defaultProps = {\n metrics: undefined,\n };\n\n componentDidMount() {\n const { nodeId, metric: { full_name: fullName } } = this.props;\n MetricsActions.add(nodeId, fullName);\n }\n\n componentWillUnmount() {\n const { nodeId, metric: { full_name: fullName } } = this.props;\n MetricsActions.remove(nodeId, fullName);\n }\n\n _formatDetailsForType = (type, metric) => {\n switch (type) {\n case 'Counter':\n return ;\n case 'Gauge':\n return ;\n case 'Histogram':\n return ;\n case 'Meter':\n return ;\n case 'Timer':\n return ;\n default:\n return Invalid metric type: {type};\n }\n };\n\n render() {\n const { nodeId, metric, metric: { full_name: metricName }, metrics } = this.props;\n const currentMetric = metrics?.[nodeId]?.[metricName] ?? metric;\n const type = lodash.capitalize(currentMetric.type);\n const details = this._formatDetailsForType(type, currentMetric);\n\n return (\n
\n

{type}

\n \n {details}\n \n
\n );\n }\n}\n\nexport default connect(\n MetricDetails,\n { metricsStore: MetricsStore },\n ({ metricsStore, ...otherProps }) => ({\n ...otherProps,\n metrics: metricsStore.metrics,\n }),\n);\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport styled from 'styled-components';\n\nimport { Alert, Col, Row } from 'components/bootstrap';\nimport { Icon } from 'components/common';\nimport { MetricsFilterInput, MetricsList } from 'components/metrics';\n\nconst StyledWarningDiv = styled.div(({ theme }) => `\n height: 20px;\n margin-bottom: 5px;\n color: ${theme.colors.variant.dark.danger};\n`);\n\nclass MetricsComponent extends React.Component {\n static propTypes = {\n names: PropTypes.arrayOf(PropTypes.object),\n namespace: PropTypes.string.isRequired,\n nodeId: PropTypes.string.isRequired,\n filter: PropTypes.string,\n error: PropTypes.shape({\n responseMessage: PropTypes.string,\n status: PropTypes.number,\n }),\n };\n\n static defaultProps = {\n names: undefined,\n filter: '',\n error: undefined,\n };\n\n state = { filter: this.props.filter };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.filter !== this.props.filter) {\n this.setState({ filter: nextProps.filter });\n }\n }\n\n onFilterChange = (nextFilter) => {\n this.setState({ filter: nextFilter });\n };\n\n render() {\n const { filter } = this.state;\n const { names, error } = this.props;\n\n if (!names) {\n return (\n \n \n \n  \n {error ? (\n \n Could not fetch metrics from node: server returned {error.responseMessage || ''}{' '}\n with a {error.status} status code.\n \n ) : (\n There was a problem fetching node metrics.\n )}\n {' '}Graylog will keep trying to get them in the background.\n \n \n \n );\n }\n\n let filteredNames;\n\n try {\n const filterRegex = new RegExp(filter, 'i');\n\n filteredNames = names.filter((metric) => String(metric.full_name).match(filterRegex));\n } catch (e) {\n filteredNames = [];\n }\n\n return (\n \n \n \n {error && (\n <>\n  \n Could not fetch metrics from node: server returned {error.responseMessage || ''}{' '}\n with a {error.status} status code. Displaying last metrics available.\n \n )}\n \n \n \n \n \n );\n }\n}\n\nexport default MetricsComponent;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FormControl } from 'components/bootstrap';\n\nclass MetricsFilterInput extends React.Component {\n static propTypes = {\n filter: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n handleChange = (event) => {\n this.props.onChange(event.target.value);\n };\n\n render() {\n const { filter } = this.props;\n\n return (\n \n );\n }\n}\n\nexport default MetricsFilterInput;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Metric } from 'components/metrics';\n\nconst MetricListWrap = styled.ul(({ theme }) => css`\n padding: 0;\n\n li {\n margin-bottom: 5px;\n\n .prefix {\n color: ${theme.colors.gray[70]};\n }\n\n .name {\n font-size: ${theme.fonts.size.body};\n font-family: ${theme.fonts.family.monospace};\n word-break: break-all;\n\n .open:hover {\n text-decoration: none;\n }\n }\n\n .metric {\n margin-left: 10px;\n padding: 10px;\n\n h3 {\n margin-bottom: 5px;\n }\n }\n }\n\n dl {\n margin-top: 0;\n margin-bottom: 0;\n }\n`);\n\nclass MetricsList extends React.Component {\n static propTypes = {\n names: PropTypes.arrayOf(PropTypes.object).isRequired,\n namespace: PropTypes.string.isRequired,\n nodeId: PropTypes.string.isRequired,\n };\n\n _formatMetric = (metric) => {\n const { namespace, nodeId } = this.props;\n\n return (\n
  • \n \n
  • \n );\n };\n\n render() {\n const { names } = this.props;\n const metrics = names\n .sort((m1, m2) => m1.full_name.localeCompare(m2.full_name))\n .map((metric) => this._formatMetric(metric));\n\n return (\n \n {metrics.length > 0 ? metrics :
  • No metrics match the given filter. Please ensure you use a valid regular expression
  • }\n
    \n );\n }\n}\n\nexport default MetricsList;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport createReactClass from 'create-react-class';\nimport Reflux from 'reflux';\n\nimport { MetricsActions, MetricsStore } from 'stores/metrics/MetricsStore';\n\nconst MetricsMapper = createReactClass({\n displayName: 'MetricsMapper',\n\n propTypes: {\n map: PropTypes.object.isRequired,\n computeValue: PropTypes.func.isRequired,\n },\n\n mixins: [Reflux.connect(MetricsStore)],\n\n getDefaultProps() {\n return {\n };\n },\n\n getInitialState() {\n return {};\n },\n\n UNSAFE_componentWillMount() {\n Object.keys(this.props.map).forEach((name) => MetricsActions.addGlobal(this.props.map[name]));\n },\n\n shouldComponentUpdate(_, nextState) {\n // Only re-render this component if the metric data has changed\n if (this.state.metricsUpdatedAt && nextState.metricsUpdatedAt) {\n return nextState.metricsUpdatedAt > this.state.metricsUpdatedAt;\n }\n\n return true;\n },\n\n componentWillUnmount() {\n Object.keys(this.props.map).forEach((name) => MetricsActions.removeGlobal(this.props.map[name]));\n },\n\n render() {\n if (!this.state.metrics) {\n return null;\n }\n\n const metricsMap = {};\n\n Object.keys(this.state.metrics).forEach((nodeId) => {\n Object.keys(this.props.map).forEach((key) => {\n const metricName = this.props.map[key];\n\n if (this.state.metrics[nodeId][metricName]) {\n // Only create the node entry if we actually have data\n if (!metricsMap[nodeId]) {\n metricsMap[nodeId] = {};\n }\n\n metricsMap[nodeId][key] = this.state.metrics[nodeId][metricName];\n }\n });\n });\n\n const value = this.props.computeValue(metricsMap);\n\n return (\n \n {value}\n \n );\n },\n});\n\nexport default MetricsMapper;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport numeral from 'numeral';\n\nclass TimerDetails extends React.Component {\n static propTypes = {\n metric: PropTypes.object.isRequired,\n };\n\n render() {\n const timing = this.props.metric.metric.time;\n\n return (\n
    \n
    95th percentile:
    \n
    {numeral(timing['95th_percentile']).format('0,0.[00]')}μs
    \n\n
    98th percentile:
    \n
    {numeral(timing['98th_percentile']).format('0,0.[00]')}μs
    \n\n
    99th percentile:
    \n
    {numeral(timing['99th_percentile']).format('0,0.[00]')}μs
    \n\n
    Standard deviation:
    \n
    {numeral(timing.std_dev).format('0,0.[00]')}μs
    \n\n
    Mean:
    \n
    {numeral(timing.mean).format('0,0.[00]')}μs
    \n\n
    Minimum:
    \n
    {numeral(timing.min).format('0,0.[00]')}μs
    \n\n
    Maximum:
    \n
    {numeral(timing.max).format('0,0.[00]')}μs
    \n
    \n );\n }\n}\n\nexport default TimerDetails;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport type { NodeMetric } from 'stores/metrics/MetricsStore';\n\nconst MetricsExtractor = {\n /*\n * Returns an object containing a short name and the metric value for it.\n * Short names are the keys of the metricNames object, which should look like:\n * { shortName: \"metricFullName\" }\n */\n getValuesForNode(nodeMetrics: NodeMetric, metricNames: { [key: string]: string }): { [key: string]: number | undefined | null } {\n if (nodeMetrics === null || nodeMetrics === undefined || Object.keys(nodeMetrics).length === 0) {\n return {};\n }\n\n const metrics = {};\n\n Object.keys(metricNames).forEach((metricShortName) => {\n const metricFullName = metricNames[metricShortName];\n const metricObject = nodeMetrics[metricFullName];\n\n if (metricObject) {\n if (metricObject.type === 'gauge') {\n metrics[metricShortName] = metricObject.metric.value;\n } else if (metricObject.type === 'counter') {\n metrics[metricShortName] = metricObject.metric.count;\n } else if (metricObject.type === 'meter') {\n metrics[metricShortName] = metricObject.metric.rate.total;\n } else if (metricObject.type === 'timer') {\n metrics[metricShortName] = metricObject.metric.rate.total;\n } else {\n metrics[metricShortName] = null;\n }\n }\n });\n\n return metrics;\n },\n};\n\nexport default MetricsExtractor;\n"],"names":["CounterDetails","React","render","metric","this","props","className","numeral","count","format","PropTypes","CounterRate","prevMetric","prevTs","nowTs","TimeHelper","state","undefined","hideOnZero","_prefix","prefix","suffix","UNSAFE_componentWillReceiveProps","setState","hideOnMissing","_checkPrevMetric","_placeholder","rate","rateNum","key","_suffix","showTotal","GaugeDetails","gauge","value","HistogramDetails","histogram","time","std_dev","mean","min","max","MeterDetails","meter","total","rate_unit","one_minute","five_minute","fifteen_minute","createReactClass","displayName","propTypes","namespace","nodeId","getInitialState","expanded","iconMapping","timer","counter","unknown","_formatIcon","type","icon","_formatName","metricName","unqualifiedMetricName","split","slice","join","_showDetails","event","preventDefault","details","name","href","onClick","full_name","MetricContainer","componentDidMount","MetricsActions","shouldComponentUpdate","nextProps","metricsUpdatedAt","componentWillUnmount","children","metrics","fullName","zeroOnMissing","throughput","Object","keys","map","MetricsExtractor","reduce","accumulator","currentMetric","child","connect","metricsStore","MetricsStore","otherProps","StyledMetricDetail","styled","MetricDetails","lodash","_formatDetailsForType","StyledWarningDiv","theme","colors","variant","dark","danger","MetricsComponent","filter","nextFilter","names","error","md","bsStyle","responseMessage","status","filteredNames","filterRegex","RegExp","String","match","e","onChange","onFilterChange","MetricsFilterInput","target","bsSize","placeholder","handleChange","MetricListWrap","css","gray","fonts","size","body","family","monospace","MetricsList","sort","m1","m2","localeCompare","_formatMetric","length","isRequired","MetricsMapper","computeValue","mixins","Reflux","getDefaultProps","UNSAFE_componentWillMount","forEach","_","nextState","metricsMap","TimerDetails","timing","getValuesForNode","nodeMetrics","metricNames","metricShortName","metricFullName","metricObject"],"sourceRoot":""}




    © 2015 - 2024 Weber Informatics LLC | Privacy Policy