web-interface.assets.34f7b5a4-44.70f5b2079d806d300f3e.js.map Maven / Gradle / Ivy
{"version":3,"sources":["webpack:///./src/components/simulator/SimulationResults.css","webpack:///./src/components/simulator/SimulationResults.css?a337","webpack:///./src/components/simulator/SimulationChanges.jsx","webpack:///./src/components/simulator/SimulationPreview.jsx","webpack:///./src/components/simulator/SimulationTrace.jsx","webpack:///./src/components/simulator/SimulationResults.jsx","webpack:///./src/components/simulator/ProcessorSimulator.jsx","webpack:///./src/pages/SimulatorPage.jsx","webpack:///./src/components/simulator/SimulationTrace.css?319f","webpack:///./src/components/simulator/SimulationTrace.css"],"names":["module","exports","push","i","dispose","refs","content","locals","use","ref","unuse","unref","SimulationChangesWrap","styled","div","OriginalChanges","FieldResultWrap","resultType","theme","color","variant","light","types","added","success","removed","danger","mutated","info","util","contrastingColor","FieldValue","dd","css","SimulationChanges","createReactClass","displayName","propTypes","originalMessage","PropTypes","object","isRequired","simulationResults","_isOriginalMessageRemoved","processedMessages","find","message","id","_formatFieldTitle","field","key","_formatFieldValue","value","isRemoved","String","_formatAddedFields","processedMessage","originalFields","Object","keys","fields","addedFields","filter","indexOf","length","formattedFields","sort","forEach","_formatRemovedFields","processedFields","removedFields","_formatMutatedFields","mutatedFields","originalValue","processedValue","JSON","stringify","_getOriginalMessageChanges","this","props","messages","formattedAddedFields","formattedRemovedFields","formattedMutatedFields","_formatOriginalMessageChanges","className","md","_formatOtherChanges","createdMessages","singular","plural","render","SimulationPreview","streams","bsStyle","formattedMessages","map","MessageShow","SimulationTrace","componentDidMount","style","componentWillUnmount","require","simulationTrace","simulation_trace","traceEntries","trace","idx","time","NumberUtils","formatNumber","VIEW_OPTIONS","SIMULATION_PREVIEW","SIMULATION_SUMMARY","SIMULATION_TRACE","SimulationResults","eventKey","selectedOption","setState","viewOption","_getViewOptionsMenuItem","option","text","state","active","isLoading","stream","error","originalMessagePreview","errorMessage","title","onSelect","_changeViewOptions","bsSize","pullRight","_getViewOptionsMenuItems","took_microseconds","_getViewComponent","React","bool","defaultProps","undefined","SimulatorActions","CombinedProvider","get","ProcessorSimulator","options","simulation","loading","simulate","triggerPromise","inputId","then","response","label","s1","s2","naturalSort","selectedStream","s","toLowerCase","defaultStream","mdOffset","header","to","Routes","STREAMS","streamHelp","_getFormattedStreams","onChange","_onStreamSelect","required","clearable","RawMessageLoader","onMessageLoaded","_onMessageLoad","inputIdSelector","Component","array","StreamsStore","StoreProvider","getStore","HIDDEN_STREAMS","SimulatorPage","listStreams","filteredStreams","includes","_isLoading","DocumentationLink","page","DocsHelper","PAGES","PIPELINES","SYSTEM","OVERVIEW","RULES","SIMULATOR"],"mappings":"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","file":"34f7b5a4-44.70f5b2079d806d300f3e.js","sourcesContent":["exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".message-preview-wrapper{margin-left:15px;margin-right:15px}.message-preview-wrapper dl{margin-top:5px;margin-bottom:0}\", \"\"]);\n\n// exports\n","var refs = 0;\nvar dispose;\nvar content = require(\"!!../../../node_modules/css-loader/index.js!./SimulationResults.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) exports.locals = content.locals;\n\nexports.use = exports.ref = function() {\n\tif(!(refs++)) {\n\t\tdispose = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, {\"hmr\":true});\n\t}\n\n\treturn exports;\n};\n\nexports.unuse = exports.unref = function() {\n if(refs > 0 && !(--refs)) {\n\t dispose();\n\t\t dispose = null;\n }\n};\nif(module.hot) {\n\tvar lastRefs = module.hot.data && module.hot.data.refs || 0;\n\n\tif(lastRefs) {\n\t\texports.ref();\n\t\tif(!content.locals) {\n\t\t\trefs = lastRefs;\n\t\t}\n\t}\n\n\tif(!content.locals) {\n\t\tmodule.hot.accept();\n\t}\n\n\tmodule.hot.dispose(function(data) {\n\t\tdata.refs = content.locals ? 0 : refs;\n\n\t\tif(dispose) {\n\t\t\tdispose();\n\t\t}\n\t});\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\n// eslint-disable-next-line no-restricted-imports\nimport createReactClass from 'create-react-class';\nimport { Col, Row } from 'components/graylog';\n\nimport { util } from 'theme';\nimport { Pluralize } from 'components/common';\n\nconst SimulationChangesWrap = styled.div`\n padding-top: 15px;\n\n dl {\n margin-bottom: 10px;\n margin-top: 5px;\n }\n\n dd {\n padding: 1px 9px 3px;\n }\n\n dt {\n margin-top: 1px;\n padding: 3px 9px 1px;\n\n &::after {\n content: \": \";\n }\n\n &:first-child {\n border-radius: 4px 4px 0 0;\n }\n\n ~ dd:last-child {\n border-radius: 0 0 4px 4px;\n }\n }\n`;\n\nconst OriginalChanges = styled.div`\n margin-top: 10px;\n`;\n\nconst FieldResultWrap = styled.div(({ resultType, theme }) => {\n const { success, danger, info } = theme.color.variant.light;\n const types = {\n added: success,\n removed: danger,\n mutated: info,\n };\n\n return `\n dt,\n dd {\n background-color: ${types[resultType]};\n color: ${util.contrastingColor(types[resultType])};\n }\n `;\n});\n\nconst FieldValue = styled.dd(({ removed }) => `\n font-family: monospace;\n\n ${removed && css`\n text-decoration: line-through;\n font-style: italic;\n `}\n`);\n\nconst SimulationChanges = createReactClass({\n displayName: 'SimulationChanges',\n\n propTypes: {\n originalMessage: PropTypes.object.isRequired,\n simulationResults: PropTypes.object.isRequired,\n },\n\n _isOriginalMessageRemoved(originalMessage, processedMessages) {\n return !processedMessages.find((message) => message.id === originalMessage.id);\n },\n\n _formatFieldTitle(field) {\n return {field} ;\n },\n\n _formatFieldValue(field, value, isRemoved = false) {\n return {String(value)} ;\n },\n\n _formatAddedFields(originalMessage, processedMessage) {\n const originalFields = Object.keys(originalMessage.fields);\n const processedFields = Object.keys(processedMessage.fields);\n\n const addedFields = processedFields.filter((field) => originalFields.indexOf(field) === -1);\n\n if (addedFields.length === 0) {\n return null;\n }\n\n const formattedFields = [];\n\n addedFields.sort().forEach((field) => {\n formattedFields.push(this._formatFieldTitle(field));\n formattedFields.push(this._formatFieldValue(field, processedMessage.fields[field]));\n });\n\n return (\n \n Added fields
\n \n {formattedFields}\n
\n \n );\n },\n\n _formatRemovedFields(originalMessage, processedMessage) {\n const originalFields = Object.keys(originalMessage.fields);\n const processedFields = Object.keys(processedMessage.fields);\n\n const removedFields = originalFields.filter((field) => processedFields.indexOf(field) === -1);\n\n if (removedFields.length === 0) {\n return null;\n }\n\n const formattedFields = [];\n\n removedFields.sort().forEach((field) => {\n formattedFields.push(this._formatFieldTitle(field));\n formattedFields.push(this._formatFieldValue(field, originalMessage.fields[field]));\n });\n\n return (\n \n Removed fields
\n \n {formattedFields}\n
\n \n );\n },\n\n _formatMutatedFields(originalMessage, processedMessage) {\n const originalFields = Object.keys(originalMessage.fields);\n const processedFields = Object.keys(processedMessage.fields);\n\n const mutatedFields = [];\n\n originalFields.forEach((field) => {\n if (processedFields.indexOf(field) === -1) {\n return;\n }\n const originalValue = originalMessage.fields[field];\n const processedValue = processedMessage.fields[field];\n\n if (typeof originalValue !== typeof processedValue) {\n mutatedFields.push(field);\n return;\n }\n\n // Convert to JSON to avoid problems comparing objects or arrays. Yes, this sucks :/\n if (JSON.stringify(originalValue) !== JSON.stringify(processedValue)) {\n mutatedFields.push(field);\n }\n });\n\n if (mutatedFields.length === 0) {\n return null;\n }\n\n const formattedFields = [];\n\n mutatedFields.sort().forEach((field) => {\n formattedFields.push(this._formatFieldTitle(field));\n formattedFields.push(this._formatFieldValue(`${field}-original`, originalMessage.fields[field], true));\n formattedFields.push(this._formatFieldValue(field, processedMessage.fields[field]));\n });\n\n return (\n \n Mutated fields
\n \n {formattedFields}\n
\n \n );\n },\n\n _getOriginalMessageChanges() {\n const { originalMessage, simulationResults } = this.props;\n const processedMessages = simulationResults.messages;\n\n if (this._isOriginalMessageRemoved(originalMessage, processedMessages)) {\n return Original message would be dropped during processing.
;\n }\n\n const processedMessage = processedMessages.find((message) => message.id === originalMessage.id);\n\n const formattedAddedFields = this._formatAddedFields(originalMessage, processedMessage);\n const formattedRemovedFields = this._formatRemovedFields(originalMessage, processedMessage);\n const formattedMutatedFields = this._formatMutatedFields(originalMessage, processedMessage);\n\n if (!formattedAddedFields && !formattedRemovedFields && !formattedMutatedFields) {\n return Original message would be not be modified during processing.
;\n }\n\n return (\n \n {formattedAddedFields}\n {formattedRemovedFields}\n {formattedMutatedFields}\n \n );\n },\n\n _formatOriginalMessageChanges() {\n const { originalMessage } = this.props;\n\n return (\n \n \n \n Changes in original message{' '}\n {originalMessage.id}\n
\n {this._getOriginalMessageChanges()}\n \n
\n );\n },\n\n _formatOtherChanges() {\n const { originalMessage, simulationResults } = this.props;\n\n const createdMessages = simulationResults.messages.filter((message) => message.id !== originalMessage.id);\n\n if (createdMessages.length === 0) {\n return null;\n }\n\n return (\n \n \n Other changes
\n \n There would be {createdMessages.length}{' '}\n created.{' '}\n Switch to the Results preview view option to see{' '}\n .\n
\n \n
\n );\n },\n\n render() {\n return (\n \n {this._formatOriginalMessageChanges()}\n {this._formatOtherChanges()}\n \n );\n },\n});\n\nexport default SimulationChanges;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Alert } from 'components/graylog';\n\nimport MessageShow from 'components/search/MessageShow';\n\nconst SimulationPreview = ({ simulationResults, streams }) => {\n const { messages } = simulationResults;\n\n if (messages.length === 0) {\n return (\n \n Message would be dropped
\n \n The pipeline processor would drop such a message. That means that the message\n would not be stored, and would not be available for searches, alerts, outputs, or dashboards.\n
\n \n );\n }\n\n const formattedMessages = messages.map((message) => {\n return (\n \n );\n });\n\n return {formattedMessages};\n};\n\nSimulationPreview.propTypes = {\n simulationResults: PropTypes.object.isRequired,\n streams: PropTypes.object.isRequired,\n};\n\nexport default SimulationPreview;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport createReactClass from 'create-react-class';\n\nimport NumberUtils from 'util/NumberUtils';\n\nconst SimulationTrace = createReactClass({\n displayName: 'SimulationTrace',\n\n propTypes: {\n simulationResults: PropTypes.object.isRequired,\n },\n\n componentDidMount() {\n this.style.use();\n },\n\n componentWillUnmount() {\n this.style.unuse();\n },\n\n style: require('!style/useable!css!./SimulationTrace.css'),\n\n render() {\n const simulationTrace = this.props.simulationResults.simulation_trace;\n\n const traceEntries = [];\n\n simulationTrace.forEach((trace, idx) => {\n traceEntries.push({NumberUtils.formatNumber(trace.time)} μs );\n traceEntries.push({trace.message} );\n });\n\n return (\n \n {traceEntries}\n
\n );\n },\n});\n\nexport default SimulationTrace;\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Alert, Col, DropdownButton, MenuItem, Row } from 'components/graylog';\n\nimport { Spinner } from 'components/common';\nimport MessageShow from 'components/search/MessageShow';\n\nimport NumberUtils from 'util/NumberUtils';\nimport SimulationChanges from './SimulationChanges';\nimport SimulationPreview from './SimulationPreview';\nimport SimulationTrace from './SimulationTrace';\n\n// eslint-disable-next-line import/no-webpack-loader-syntax\nimport style from '!style/useable!css!./SimulationResults.css';\n\nconst VIEW_OPTIONS = {\n SIMULATION_PREVIEW: 1,\n SIMULATION_SUMMARY: 2,\n SIMULATION_TRACE: 3,\n};\n\nclass SimulationResults extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n viewOption: VIEW_OPTIONS.SIMULATION_SUMMARY,\n };\n }\n\n componentDidMount() {\n style.use();\n }\n\n componentWillUnmount() {\n style.unuse();\n }\n\n _changeViewOptions = (eventKey) => {\n const selectedOption = Object.keys(VIEW_OPTIONS).find((key) => VIEW_OPTIONS[key] === eventKey);\n this.setState({ viewOption: VIEW_OPTIONS[selectedOption] });\n };\n\n _getViewOptionsMenuItems = () => [\n this._getViewOptionsMenuItem(VIEW_OPTIONS.SIMULATION_SUMMARY, 'Changes summary'),\n this._getViewOptionsMenuItem(VIEW_OPTIONS.SIMULATION_PREVIEW, 'Results preview'),\n this._getViewOptionsMenuItem(VIEW_OPTIONS.SIMULATION_TRACE, 'Simulation trace'),\n ];\n\n _getViewOptionsMenuItem = (option, text) => {\n const { viewOption } = this.state;\n return (\n \n );\n };\n\n _getViewComponent = (streams) => {\n const { simulationResults, isLoading, originalMessage } = this.props;\n if (isLoading || !simulationResults) {\n return ;\n }\n\n const { viewOption } = this.state;\n switch (viewOption) {\n case VIEW_OPTIONS.SIMULATION_PREVIEW:\n return ;\n case VIEW_OPTIONS.SIMULATION_SUMMARY:\n return (\n \n );\n case VIEW_OPTIONS.SIMULATION_TRACE:\n return ;\n default:\n // it should never happen™\n }\n\n return null;\n };\n\n render() {\n const { stream, simulationResults, isLoading, error, originalMessage } = this.props;\n if (!originalMessage && !simulationResults) {\n return null;\n }\n\n const streams = {\n [stream.id]: stream,\n };\n\n // eslint-disable-next-line no-nested-ternary\n const originalMessagePreview = isLoading\n ? \n : originalMessage\n ? (\n \n )\n : null;\n\n const errorMessage = error\n ? (\n \n Error simulating message processing
\n \n Could not simulate processing of message {originalMessage.id} in stream{' '}\n {stream.title}.\n
\n Please try loading the message again, or use another message for the simulation.\n
\n \n )\n : null;\n\n return (\n \n \n
\n \n \n Original message
\n This is the original message loaded from Graylog.
\n \n {originalMessagePreview}\n \n \n \n \n \n {this._getViewOptionsMenuItems()}\n \n \n Simulation results
\n \n {isLoading\n ? 'Simulating message processing, please wait a moment.'\n : `These are the results of processing the loaded message. Processing took ${NumberUtils.formatNumber(simulationResults.took_microseconds)} µs.`}\n
\n {errorMessage}\n {this._getViewComponent(streams)}\n \n
\n );\n }\n}\n\nSimulationResults.propTypes = {\n stream: PropTypes.object.isRequired,\n originalMessage: PropTypes.object.isRequired,\n simulationResults: PropTypes.object,\n isLoading: PropTypes.bool,\n error: PropTypes.object,\n};\n\nSimulationResults.defaultProps = {\n simulationResults: undefined,\n isLoading: false,\n error: undefined,\n};\n\nexport default SimulationResults;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Col, ControlLabel, FormGroup, HelpBlock, Panel, Row } from 'components/graylog';\nimport naturalSort from 'javascript-natural-sort';\nimport { Link } from 'react-router';\n\nimport { Select } from 'components/common';\nimport RawMessageLoader from 'components/messageloaders/RawMessageLoader';\n\nimport Routes from 'routing/Routes';\nimport CombinedProvider from 'injection/CombinedProvider';\n\nimport SimulationResults from './SimulationResults';\n\nconst { SimulatorActions } = CombinedProvider.get('Simulator');\n\nconst DEFAULT_STREAM_ID = '000000000000000000000001';\n\nclass ProcessorSimulator extends React.Component {\n static propTypes = {\n streams: PropTypes.array.isRequired,\n };\n\n constructor(props) {\n super(props);\n // The default stream could not be present in a system. In that case we fallback to the first available stream.\n this.defaultStream = props.streams.find((s) => s.id === DEFAULT_STREAM_ID) || props.streams[0];\n\n this.state = {\n message: undefined,\n stream: this.defaultStream,\n simulation: undefined,\n loading: false,\n error: undefined,\n };\n }\n\n _onMessageLoad = (message, options) => {\n this.setState({ message: message, simulation: undefined, loading: true, error: undefined });\n\n SimulatorActions.simulate\n .triggerPromise(this.state.stream, message.fields, options.inputId)\n .then(\n (response) => {\n this.setState({ simulation: response, loading: false });\n },\n (error) => {\n this.setState({ loading: false, error: error });\n },\n );\n };\n\n _getFormattedStreams = (streams) => {\n if (!streams) {\n return [];\n }\n\n return streams\n .map((stream) => {\n return { value: stream.id, label: stream.title };\n })\n .sort((s1, s2) => naturalSort(s1.label, s2.label));\n };\n\n _onStreamSelect = (selectedStream) => {\n const stream = this.props.streams.find((s) => s.id.toLowerCase() === selectedStream.toLowerCase());\n this.setState({ stream: stream });\n };\n\n render() {\n if (this.props.streams.length === 0) {\n return (\n \n \n \n \n Pipelines operate on streams, but your system currently has no streams. Please{' '}\n create a stream{' '}\n and come back here later to test pipelines processing messages in your new stream.\n \n \n
\n \n );\n }\n\n const streamHelp = (\n \n Select a stream to use during simulation, the {this.defaultStream.title} stream is used by default.\n \n );\n\n return (\n \n \n \n Load a message
\n \n Build an example message that will be used in the simulation.{' '}\n No real messages stored in Graylog will be changed. All actions are purely simulated on the\n temporary input you provide below.\n \n
\n \n \n \n Stream \n \n {streamHelp} \n \n \n
\n \n \n
\n \n \n );\n }\n}\n\nexport default ProcessorSimulator;\n","import React from 'react';\nimport { LinkContainer } from 'react-router-bootstrap';\n\nimport { Button, Col, Row } from 'components/graylog';\nimport { DocumentTitle, PageHeader, Spinner } from 'components/common';\nimport DocumentationLink from 'components/support/DocumentationLink';\nimport ProcessorSimulator from 'components/simulator/ProcessorSimulator';\n\nimport StoreProvider from 'injection/StoreProvider';\n\nimport DocsHelper from 'util/DocsHelper';\nimport Routes from 'routing/Routes';\n\nconst StreamsStore = StoreProvider.getStore('Streams');\n\n// Events do not work on Pipelines yet, hide Events and System Events Streams.\nconst HIDDEN_STREAMS = [\n '000000000000000000000002',\n '000000000000000000000003',\n];\n\nclass SimulatorPage extends React.Component {\n state = {\n streams: undefined,\n };\n\n componentDidMount() {\n StreamsStore.listStreams().then((streams) => {\n const filteredStreams = streams.filter((s) => !HIDDEN_STREAMS.includes(s.id));\n this.setState({ streams: filteredStreams });\n });\n }\n\n _isLoading = () => {\n const { streams } = this.state;\n return !streams;\n };\n\n render() {\n const { streams } = this.state;\n\n const content = this._isLoading() ? : ;\n\n return (\n \n \n \n \n Processing messages can be complex. Use this page to simulate the result of processing an incoming\n message using your current set of pipelines and rules.\n \n \n Read more about Graylog pipelines in the .\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n {content}\n \n
\n \n \n );\n }\n}\n\nexport default SimulatorPage;\n","var refs = 0;\nvar dispose;\nvar content = require(\"!!../../../node_modules/css-loader/index.js!./SimulationTrace.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) exports.locals = content.locals;\n\nexports.use = exports.ref = function() {\n\tif(!(refs++)) {\n\t\tdispose = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, {\"hmr\":true});\n\t}\n\n\treturn exports;\n};\n\nexports.unuse = exports.unref = function() {\n if(refs > 0 && !(--refs)) {\n\t dispose();\n\t\t dispose = null;\n }\n};\nif(module.hot) {\n\tvar lastRefs = module.hot.data && module.hot.data.refs || 0;\n\n\tif(lastRefs) {\n\t\texports.ref();\n\t\tif(!content.locals) {\n\t\t\trefs = lastRefs;\n\t\t}\n\t}\n\n\tif(!content.locals) {\n\t\tmodule.hot.accept();\n\t}\n\n\tmodule.hot.dispose(function(data) {\n\t\tdata.refs = content.locals ? 0 : refs;\n\n\t\tif(dispose) {\n\t\t\tdispose();\n\t\t}\n\t});\n}","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".dl-simulation-trace{padding-top:15px}.dl-simulation-trace dt{width:80px}.dl-simulation-trace dd{margin-left:100px;margin-bottom:5px}\", \"\"]);\n\n// exports\n"],"sourceRoot":""}