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>
|
||||
);
|
||||
}
|
||||
}
|
||||
Ссылка в новой задаче
Block a user