PLT-4357 adding performance monitoring (#4622)
* WIP * WIP * Adding metrics collection * updating vendor packages * Adding metrics to config * Adding admin console page for perf monitoring * Updating glide * switching to tylerb/graceful
Этот коммит содержится в:
коммит произвёл
Harrison Healey
родитель
e033dcce8e
Коммит
7961599b2e
@@ -192,6 +192,7 @@ export default class AdminSidebar extends React.Component {
|
||||
let ldapSettings = null;
|
||||
let samlSettings = null;
|
||||
let clusterSettings = null;
|
||||
let metricsSettings = null;
|
||||
let complianceSettings = null;
|
||||
|
||||
let license = null;
|
||||
@@ -241,6 +242,20 @@ export default class AdminSidebar extends React.Component {
|
||||
);
|
||||
}
|
||||
|
||||
if (global.window.mm_license.Metrics === 'true') {
|
||||
metricsSettings = (
|
||||
<AdminSidebarSection
|
||||
name='metrics'
|
||||
title={
|
||||
<FormattedMessage
|
||||
id='admin.sidebar.metrics'
|
||||
defaultMessage='Performance Monitoring (Beta)'
|
||||
/>
|
||||
}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
if (global.window.mm_license.SAML === 'true') {
|
||||
samlSettings = (
|
||||
<AdminSidebarSection
|
||||
@@ -716,6 +731,7 @@ export default class AdminSidebar extends React.Component {
|
||||
}
|
||||
/>
|
||||
{clusterSettings}
|
||||
{metricsSettings}
|
||||
</AdminSidebarSection>
|
||||
</AdminSidebarCategory>
|
||||
{this.renderTeams()}
|
||||
|
||||
96
webapp/components/admin_console/metrics_settings.jsx
Обычный файл
96
webapp/components/admin_console/metrics_settings.jsx
Обычный файл
@@ -0,0 +1,96 @@
|
||||
// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
import React from 'react';
|
||||
|
||||
import AdminSettings from './admin_settings.jsx';
|
||||
import BooleanSetting from './boolean_setting.jsx';
|
||||
import TextSetting from './text_setting.jsx';
|
||||
|
||||
import {FormattedMessage, FormattedHTMLMessage} from 'react-intl';
|
||||
import SettingsGroup from './settings_group.jsx';
|
||||
|
||||
import * as Utils from 'utils/utils.jsx';
|
||||
|
||||
export default class MetricsSettings extends AdminSettings {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
this.getConfigFromState = this.getConfigFromState.bind(this);
|
||||
this.renderSettings = this.renderSettings.bind(this);
|
||||
}
|
||||
|
||||
getConfigFromState(config) {
|
||||
config.MetricsSettings.Enable = this.state.enable;
|
||||
config.MetricsSettings.ListenAddress = this.state.listenAddress;
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
getStateFromConfig(config) {
|
||||
const settings = config.MetricsSettings;
|
||||
|
||||
return {
|
||||
enable: settings.Enable,
|
||||
listenAddress: settings.ListenAddress
|
||||
};
|
||||
}
|
||||
|
||||
renderTitle() {
|
||||
return (
|
||||
<h3>
|
||||
<FormattedMessage
|
||||
id='admin.advance.metrics'
|
||||
defaultMessage='Performance Monitoring (Beta)'
|
||||
/>
|
||||
</h3>
|
||||
);
|
||||
}
|
||||
|
||||
renderSettings() {
|
||||
const licenseEnabled = global.window.mm_license.IsLicensed === 'true' && global.window.mm_license.Metrics === 'true';
|
||||
if (!licenseEnabled) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<SettingsGroup>
|
||||
<BooleanSetting
|
||||
id='enable'
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='admin.metrics.enableTitle'
|
||||
defaultMessage='Enable Performance Monitoring:'
|
||||
/>
|
||||
}
|
||||
helpText={
|
||||
<FormattedHTMLMessage
|
||||
id='admin.metrics.enableDescription'
|
||||
defaultMessage='When true, Mattermost will enable performance monitoring collection and profiling. Please see <a href="http://docs.mattermost.com/deployment/metrics.html" target="_blank">documentation</a> to learn more about configuring performance monitoring for Mattermost.'
|
||||
/>
|
||||
}
|
||||
value={this.state.enable}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<TextSetting
|
||||
id='listenAddress'
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='admin.metrics.listenAddressTitle'
|
||||
defaultMessage='Listen Address:'
|
||||
/>
|
||||
}
|
||||
placeholder={Utils.localizeMessage('admin.metrics.listenAddressEx', 'Ex ":8067"')}
|
||||
helpText={
|
||||
<FormattedMessage
|
||||
id='admin.metrics.listenAddressDesc'
|
||||
defaultMessage='The address the server will listen on to expose performance metrics.'
|
||||
/>
|
||||
}
|
||||
value={this.state.listenAddress}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
</SettingsGroup>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -137,6 +137,7 @@
|
||||
"add_outgoing_webhook.triggerWordsTriggerWhenFullWord": "First word matches a trigger word exactly",
|
||||
"add_outgoing_webhook.triggerWordsTriggerWhenStartsWith": "First word starts with a trigger word",
|
||||
"admin.advance.cluster": "High Availability (Beta)",
|
||||
"admin.advance.metrics": "Performance Monitoring (Beta)",
|
||||
"admin.audits.reload": "Reload User Activity Logs",
|
||||
"admin.audits.title": "User Activity Logs",
|
||||
"admin.authentication.email": "Email Auth",
|
||||
@@ -145,6 +146,11 @@
|
||||
"admin.authentication.oauth": "OAuth 2.0",
|
||||
"admin.authentication.saml": "SAML",
|
||||
"admin.banner.heading": "Note:",
|
||||
"admin.metrics.enableTitle": "Enable Performance Monitoring:",
|
||||
"admin.metrics.enableDescription": "When true, Mattermost will enable performance monitoring collection and profiling. Please see <a href=\"http://docs.mattermost.com/deployment/metrics.html\" target=\"_blank\">documentation</a> to learn more about configuring performance monitoring for Mattermost.",
|
||||
"admin.metrics.listenAddressTitle": "Listen Address:",
|
||||
"admin.metrics.listenAddressEx": "Ex \":8067\"",
|
||||
"admin.metrics.listenAddressDesc": "The address the server will listen on to expose performance metrics.",
|
||||
"admin.cluster.enableDescription": "When true, Mattermost will run in High Availability mode. Please see <a href=\"http://docs.mattermost.com/deployment/cluster.html\" target=\"_blank\">documentation</a> to learn more about configuring High Availability for Mattermost.",
|
||||
"admin.cluster.enableTitle": "Enable High Availability Mode:",
|
||||
"admin.cluster.interNodeListenAddressDesc": "The address the server will listen on for communicating with other servers.",
|
||||
@@ -702,6 +708,7 @@
|
||||
"admin.sidebar.audits": "Compliance and Auditing",
|
||||
"admin.sidebar.authentication": "Authentication",
|
||||
"admin.sidebar.cluster": "High Availability (Beta)",
|
||||
"admin.sidebar.metrics": "Performance Monitoring (Beta)",
|
||||
"admin.sidebar.compliance": "Compliance",
|
||||
"admin.sidebar.configuration": "Configuration",
|
||||
"admin.sidebar.connections": "Connections",
|
||||
|
||||
@@ -18,6 +18,7 @@ import OAuthSettings from 'components/admin_console/oauth_settings.jsx';
|
||||
import LdapSettings from 'components/admin_console/ldap_settings.jsx';
|
||||
import SamlSettings from 'components/admin_console/saml_settings.jsx';
|
||||
import ClusterSettings from 'components/admin_console/cluster_settings.jsx';
|
||||
import MetricsSettings from 'components/admin_console/metrics_settings.jsx';
|
||||
import SignupSettings from 'components/admin_console/signup_settings.jsx';
|
||||
import PasswordSettings from 'components/admin_console/password_settings.jsx';
|
||||
import PublicLinkSettings from 'components/admin_console/public_link_settings.jsx';
|
||||
@@ -201,6 +202,10 @@ export default (
|
||||
path='cluster'
|
||||
component={ClusterSettings}
|
||||
/>
|
||||
<Route
|
||||
path='metrics'
|
||||
component={MetricsSettings}
|
||||
/>
|
||||
</Route>
|
||||
<Route path='team'>
|
||||
<Redirect
|
||||
|
||||
Ссылка в новой задаче
Block a user