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

web-interface.assets.1255d548-6202.4a3c04565c5925e2b39e.js.map Maven / Gradle / Ivy

There is a newer version: 6.1.4
Show newest version
{"version":3,"file":"1255d548-6202.4a3c04565c5925e2b39e.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/stores/system/LoggersStore.js","webpack://graylog-web-interface/./src/components/loggers/LoggerOverview.jsx","webpack://graylog-web-interface/./src/components/loggers/LoggingSubsystem.jsx","webpack://graylog-web-interface/./src/components/loggers/LogLevelDropdown.jsx","webpack://graylog-web-interface/./src/components/loggers/LogLevelMetrics.jsx","webpack://graylog-web-interface/./src/components/loggers/LogLevelMetricsOverview.jsx","webpack://graylog-web-interface/./src/components/loggers/NodeLoggers.jsx","webpack://graylog-web-interface/./src/hooks/useClusterSupportBundle.ts","webpack://graylog-web-interface/./src/components/loggers/ClusterSupportBundleInfo.tsx","webpack://graylog-web-interface/./src/components/loggers/ClusterSupportBundleOverview.tsx","webpack://graylog-web-interface/./src/pages/LoggersPage.tsx"],"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 Reflux from 'reflux';\n\nimport * as URLUtils from 'util/URLUtils';\nimport ApiRoutes from 'routing/ApiRoutes';\nimport fetch from 'logic/rest/FetchProvider';\nimport { singletonStore, singletonActions } from 'logic/singleton';\n\nexport const LoggersActions = singletonActions(\n  'core.Loggers',\n  () => Reflux.createActions({\n    loggers: { asyncResult: true },\n    subsystems: { asyncResult: true },\n    setSubsystemLoggerLevel: { asyncResult: true },\n  }),\n);\n\nexport const LoggersStore = singletonStore(\n  'core.Loggers',\n  () => Reflux.createStore({\n    listenables: [LoggersActions],\n    state: {\n      availableLoglevels: [\n        'fatal',\n        'error',\n        'warn',\n        'info',\n        'debug',\n        'trace',\n      ],\n    },\n    init() {\n      this.loggers();\n      this.subsystems();\n    },\n    getInitialState() {\n      return this.state;\n    },\n    loggers() {\n      const url = URLUtils.qualifyUrl(ApiRoutes.ClusterLoggersResource.loggers().url);\n      const promise = fetch('GET', url).then((response) => {\n        this.state.loggers = response;\n        this.trigger(this.state);\n\n        return response;\n      });\n\n      LoggersActions.loggers.promise(promise);\n    },\n    subsystems() {\n      const url = URLUtils.qualifyUrl(ApiRoutes.ClusterLoggersResource.subsystems().url);\n      const promise = fetch('GET', url).then((response) => {\n        this.state.subsystems = response;\n        this.trigger(this.state);\n\n        return response;\n      });\n\n      LoggersActions.loggers.promise(promise);\n    },\n    setSubsystemLoggerLevel(nodeId, subsystem, level) {\n      const url = URLUtils.qualifyUrl(ApiRoutes.ClusterLoggersResource.setSubsystemLoggerLevel(nodeId, subsystem, level).url);\n      const promise = fetch('PUT', url);\n\n      promise.then(() => {\n        this.init();\n      });\n\n      LoggersActions.setSubsystemLoggerLevel.promise(promise);\n    },\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 React from 'react';\nimport createReactClass from 'create-react-class';\nimport Reflux from 'reflux';\n\nimport { Spinner } from 'components/common';\nimport { NodeLoggers } from 'components/loggers';\nimport { LoggersStore } from 'stores/system/LoggersStore';\n\nconst LoggerOverview = createReactClass({\n  displayName: 'LoggerOverview',\n  mixins: [Reflux.connect(LoggersStore)],\n\n  render() {\n    if (!this.state.loggers || !this.state.subsystems) {\n      return ;\n    }\n\n    const { subsystems } = this.state;\n    const nodeLoggers = Object.keys(this.state.loggers)\n      .map((nodeId) => (\n        \n      ));\n\n    return (\n      \n        {nodeLoggers}\n      \n    );\n  },\n});\n\nexport default LoggerOverview;\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 capitalize from 'lodash/capitalize';\n\nimport { ButtonGroup, Col } from 'components/bootstrap';\nimport { LogLevelDropdown } from 'components/loggers';\n\nclass LoggingSubsystem extends React.Component {\n  static propTypes = {\n    name: PropTypes.string.isRequired,\n    nodeId: PropTypes.string.isRequired,\n    subsystem: PropTypes.object.isRequired,\n  };\n\n  render() {\n    return (\n      
\n \n

\n Subsystem: {capitalize(this.props.name)}\n \n \n \n

\n {this.props.subsystem.description}\n
\n \n
\n );\n }\n}\n\nexport default LoggingSubsystem;\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';\n// eslint-disable-next-line no-restricted-imports\nimport createReactClass from 'create-react-class';\nimport Reflux from 'reflux';\nimport capitalize from 'lodash/capitalize';\n\nimport { DropdownButton, MenuItem } from 'components/bootstrap';\nimport { LoggersActions, LoggersStore } from 'stores/system/LoggersStore';\nimport withTelemetry from 'logic/telemetry/withTelemetry';\nimport { getPathnameWithoutId } from 'util/URLUtils';\nimport { TELEMETRY_EVENT_TYPE } from 'logic/telemetry/Constants';\nimport withLocation from 'routing/withLocation';\n\nconst LogLevelDropdown = createReactClass({\n // eslint-disable-next-line react/no-unused-class-component-methods\n displayName: 'LogLevelDropdown',\n\n // eslint-disable-next-line react/no-unused-class-component-methods\n propTypes: {\n name: PropTypes.string.isRequired,\n nodeId: PropTypes.string.isRequired,\n subsystem: PropTypes.object.isRequired,\n sendTelemetry: PropTypes.func.isRequired,\n location: PropTypes.object.isRequired,\n },\n\n mixins: [Reflux.connect(LoggersStore)],\n\n _changeLoglevel(loglevel) {\n LoggersActions.setSubsystemLoggerLevel(this.props.nodeId, this.props.name, loglevel);\n },\n\n _menuLevelClick(loglevel) {\n return (event) => {\n event.preventDefault();\n this._changeLoglevel(loglevel);\n\n this.props.sendTelemetry(TELEMETRY_EVENT_TYPE.LOGGING.LOG_LEVEL_EDITED, {\n app_pathname: getPathnameWithoutId(this.props.location.pathname),\n app_action_value: 'log-level-change',\n event_details: { value: loglevel },\n });\n };\n },\n\n render() {\n const { subsystem, nodeId } = this.props;\n const loglevels = this.state.availableLoglevels\n .map((loglevel) => (\n \n {capitalize(loglevel)}\n \n ));\n\n return (\n \n {loglevels}\n \n );\n },\n});\n\nexport default withLocation(withTelemetry(LogLevelDropdown));\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';\nimport capitalize from 'lodash/capitalize';\nimport numeral from 'numeral';\n\nimport { Col } from 'components/bootstrap';\nimport { Spinner } from 'components/common';\nimport { MetricsActions, MetricsStore } from 'stores/metrics/MetricsStore';\n\nconst LogLevelMetrics = createReactClass({\n displayName: 'LogLevelMetrics',\n\n propTypes: {\n nodeId: PropTypes.string.isRequired,\n loglevel: PropTypes.string.isRequired,\n },\n\n mixins: [Reflux.connect(MetricsStore)],\n\n componentDidMount() {\n MetricsActions.add(this.props.nodeId, this._metricName());\n },\n\n componentWillUnmount() {\n MetricsActions.remove(this.props.nodeId, this._metricName());\n },\n\n _metricName() {\n return `org.apache.logging.log4j.core.Appender.${this.props.loglevel}`;\n },\n\n render() {\n const { loglevel, nodeId } = this.props;\n const { metrics } = this.state;\n let metricsDetails;\n\n if (!metrics || !metrics[nodeId] || !metrics[nodeId][this._metricName()]) {\n metricsDetails = ;\n } else {\n const { metric } = metrics[nodeId][this._metricName()];\n\n metricsDetails = (\n
\n
Total written:
\n
{metric.rate.total}
\n
Mean rate:
\n
{numeral(metric.rate.mean).format('0.00')} / second
\n
1 min rate:
\n
{numeral(metric.rate.one_minute).format('0.00')} / second
\n
\n );\n }\n\n return (\n
\n \n

Level: {capitalize(loglevel)}

\n {metricsDetails}\n \n
\n );\n },\n});\n\nexport default LogLevelMetrics;\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 { LogLevelMetrics } from 'components/loggers';\nimport { LoggersStore } from 'stores/system/LoggersStore';\n\nconst LogLevelMetricsOverview = createReactClass({\n displayName: 'LogLevelMetricsOverview',\n\n propTypes: {\n nodeId: PropTypes.string.isRequired,\n },\n\n mixins: [Reflux.connect(LoggersStore)],\n\n render() {\n const { nodeId } = this.props;\n const logLevelMetrics = this.state.availableLoglevels\n .map((loglevel) => );\n\n return (\n
\n {logLevelMetrics}\n
\n );\n },\n});\n\nexport default LogLevelMetricsOverview;\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';\n// eslint-disable-next-line no-restricted-imports\nimport createReactClass from 'create-react-class';\nimport Reflux from 'reflux';\n\nimport { Col, Row, Button } from 'components/bootstrap';\nimport { LinkToNode, IfPermitted, Icon } from 'components/common';\nimport { LoggingSubsystem, LogLevelMetricsOverview } from 'components/loggers';\nimport { MetricsActions, MetricsStore } from 'stores/metrics/MetricsStore';\nimport withTelemetry from 'logic/telemetry/withTelemetry';\nimport { getPathnameWithoutId } from 'util/URLUtils';\nimport { TELEMETRY_EVENT_TYPE } from 'logic/telemetry/Constants';\nimport withLocation from 'routing/withLocation';\n\nconst NodeLoggers = createReactClass({\n // eslint-disable-next-line react/no-unused-class-component-methods\n displayName: 'NodeLoggers',\n\n // eslint-disable-next-line react/no-unused-class-component-methods\n propTypes: {\n nodeId: PropTypes.string.isRequired,\n subsystems: PropTypes.object.isRequired,\n sendTelemetry: PropTypes.func.isRequired,\n location: PropTypes.object.isRequired,\n },\n\n mixins: [Reflux.connect(MetricsStore)],\n\n getInitialState() {\n return { showDetails: false };\n },\n\n componentDidMount() {\n const { nodeId } = this.props;\n\n MetricsActions.add(nodeId, this.metric_name);\n },\n\n componentWillUnmount() {\n const { nodeId } = this.props;\n\n MetricsActions.remove(nodeId, this.metric_name);\n },\n\n metric_name: 'org.apache.logging.log4j.core.Appender.all',\n\n _formatThroughput() {\n const { metrics } = this.state;\n const { nodeId } = this.props;\n\n if (metrics && metrics[nodeId] && metrics[nodeId][this.metric_name]) {\n const { metric } = metrics[nodeId][this.metric_name];\n\n return metric.rate.total;\n }\n\n return 'n/a';\n },\n\n render() {\n const { nodeId, subsystems, sendTelemetry } = this.props;\n const { showDetails } = this.state;\n const subsystemKeys = Object.keys(subsystems)\n .map((subsystem) => (\n \n ));\n\n const logLevelMetrics = ;\n\n return (\n \n \n \n
\n
\n \n
\n

\n \n \n Has written a total of {this._formatThroughput()} internal log messages.\n \n

\n
\n
\n {subsystemKeys}\n
\n {showDetails && logLevelMetrics}\n
\n \n
\n );\n },\n});\n\nexport default withLocation(withTelemetry(NodeLoggers));\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 { useState } from 'react';\nimport type { QueryObserverResult } from '@tanstack/react-query';\nimport { useQuery } from '@tanstack/react-query';\n\nimport fetch from 'logic/rest/FetchProvider';\nimport UserNotification from 'util/UserNotification';\nimport { qualifyUrl } from 'util/URLUtils';\nimport ApiRoutes from 'routing/ApiRoutes';\n\nexport type BundleFile = {\n size: number;\n file_name: string;\n}\n\nconst fetchSupportBundleList = async () => fetch('GET', qualifyUrl(ApiRoutes.ClusterSupportBundleController.list().url));\n\nconst createSupportBundle = async (refetchList: () => Promise>, setLoading: (loading: boolean) => void) => {\n try {\n setLoading(true);\n await fetch('POST', qualifyUrl(ApiRoutes.ClusterSupportBundleController.create().url));\n await refetchList();\n } catch (errorThrown) {\n UserNotification.error(`Creating the Support Bundle failed with status: ${errorThrown}`, 'Could not create the Support Bundle.');\n } finally {\n setLoading(false);\n }\n};\n\nconst deleteSupportBundle = async (filename: string, refetchList: () => Promise>) => {\n try {\n await fetch('DELETE', qualifyUrl(ApiRoutes.ClusterSupportBundleController.delete(filename).url));\n await refetchList();\n } catch (errorThrown) {\n UserNotification.error(`Deleting the Support Bundle failed with status: ${errorThrown}`, 'Could not delete the Support Bundle.');\n }\n};\n\nconst downloadSupportBundle = async (filename: string) => {\n try {\n window.open(qualifyUrl(ApiRoutes.ClusterSupportBundleController.download(filename).url), '_self');\n } catch (errorThrown) {\n UserNotification.error(`Downloading the Support Bundle failed with status: ${errorThrown}`, 'Could not download the Support Bundle.');\n }\n};\n\nconst useClusterSupportBundle = () => {\n const [isCreating, setIsCreating] = useState(false);\n const { data, refetch } = useQuery(\n ['supportBundleList', 'overview'],\n fetchSupportBundleList,\n {\n onError: (errorThrown) => {\n UserNotification.error(`Loading Support Bundle list failed with status: ${errorThrown}`,\n 'Could not load Support Bundle list.');\n },\n keepPreviousData: true,\n },\n );\n\n return {\n isCreating,\n list: data || [],\n onCreate: () => createSupportBundle(refetch, setIsCreating),\n onDelete: (filename: string) => deleteSupportBundle(filename, refetch),\n onDownload: downloadSupportBundle,\n };\n};\n\nexport default useClusterSupportBundle;\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 * as React from 'react';\n\nimport usePluginEntities from 'hooks/usePluginEntities';\n\nexport const UnlicensedText = () => (\n <>\n Please examine the bundle content before sharing it.\n It might contain sensitive data like IP addresses, hostnames or even passwords!\n
\n Only paid license users are entitled to use Graylog enterprise support.\n You may however use this file for other means of debugging.\n \n);\n\nconst ClusterSupportBundleInfo = () => {\n const pluginLogger = usePluginEntities('supportBundle');\n const InfoComponent = pluginLogger[0]?.EnterpriseSupportBundleInfo || UnlicensedText;\n\n return (\n

\n Create a zip file which contains useful debugging information from your Graylog cluster.
\n Graylog Enterprise customers can attach bundles to their support ticket, which will help the Graylog technical\n support team with analyzing and diagnosing issues.
\n
\n {InfoComponent && ()}\n

\n );\n};\n\nexport default ClusterSupportBundleInfo;\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, { useState } from 'react';\nimport styled from 'styled-components';\n\nimport { Spinner, ConfirmDialog, NoSearchResult } from 'components/common';\nimport { Col, Row, Table, Button } from 'components/bootstrap';\nimport type { BundleFile } from 'hooks/useClusterSupportBundle';\nimport useClusterSupportBundle from 'hooks/useClusterSupportBundle';\nimport ClusterSupportBundleInfo from 'components/loggers/ClusterSupportBundleInfo';\n\nconst Header = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nconst AlignRightCell = styled.td`\n text-align: right;\n`;\n\nconst AlignRightHeadCell = styled.th`\n text-align: right;\n`;\n\nconst FilenameCol = styled.col`\n width: 33%;\n`;\n\nconst DownloadButton = styled(Button)`\n margin-right: 6px;\n`;\n\nconst LoadingSpinner = styled(Spinner)(({ theme }) => `\n margin-left: 6px;\n font-size: ${theme.fonts.size.h5};\n`);\n\nconst ClusterSupportBundleOverview = () => {\n const { list, isCreating, onCreate, onDelete, onDownload } = useClusterSupportBundle();\n const [bundleNameToDelete, setBundleNameToDelete] = useState(null);\n\n const renderRow = (bundle: BundleFile) => (\n \n \n {bundle.file_name}\n \n \n {bundle.size}\n \n \n onDownload(bundle.file_name)}>Download\n \n \n \n \n );\n\n return (\n
\n \n \n
\n

Cluster Support Bundle

\n \n
\n \n {(list.length > 0) ? (\n \n \n \n \n \n \n \n Size\n \n \n \n {list.map(renderRow)}\n \n
Filename
\n ) : (\n \n No Support Bundles have been found.\n \n )}\n \n
\n {\n onDelete(bundleNameToDelete);\n setBundleNameToDelete(null);\n }}\n onCancel={() => setBundleNameToDelete(null)}>\n <>Are you sure you want to delete {bundleNameToDelete}?\n \n
\n );\n};\n\nexport default ClusterSupportBundleOverview;\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';\n\nimport { DocumentTitle, PageHeader } from 'components/common';\nimport { LoggerOverview, ClusterSupportBundleOverview } from 'components/loggers';\n\nconst LoggersPage = () => (\n \n \n \n \n This section controls logging of the Graylog architecture and allows you to change log\n levels on the fly. Note that log levels are reset to their defaults after you restart\n the affected service.\n \n \n \n \n \n \n);\n\nexport default LoggersPage;\n"],"names":["LoggersActions","singleton","LoggersStore","url","URLUtils","ApiRoutes","promise","response","nodeId","subsystem","level","subsystems","nodeLoggers","LoggingSubsystem","LogLevelDropdown","loglevel","event","loglevels","withLocation","withTelemetry","MetricsStore","metrics","metricsDetails","metric","logLevelMetrics","NodeLoggers","sendTelemetry","showDetails","subsystemKeys","fetchSupportBundleList","createSupportBundle","refetchList","setLoading","errorThrown","UserNotification","deleteSupportBundle","filename","downloadSupportBundle","isCreating","setIsCreating","data","refetch","UnlicensedText","InfoComponent","usePluginEntities","Header","AlignRightCell","AlignRightHeadCell","FilenameCol","DownloadButton","LoadingSpinner","theme","list","onCreate","onDelete","onDownload","bundleNameToDelete","setBundleNameToDelete","renderRow","bundle"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy