MXS-2712: Add descriptions to list and show commands
The help output of all the list and show commands now explains what each field in the output table means. The generated table will be added at the end of the help output. The descriptions table looks like this: Field Description ----- ----------- Version MaxScale version Commit MaxScale commit ID Started At Time when MaxScale was started Activated At Time when MaxScale left passive mode Uptime Time MaxScale has been running Parameters Global MaxScale parameters
This commit is contained in:
committed by
Johan Wikman
parent
cc1c1f9c98
commit
c20c6e8406
@ -17,26 +17,32 @@ const list_servers_fields = [
|
||||
{
|
||||
name: 'Server',
|
||||
path: 'id',
|
||||
description: 'Server name'
|
||||
},
|
||||
{
|
||||
name: 'Address',
|
||||
path: 'attributes.parameters.address',
|
||||
description: 'Address where the server listens'
|
||||
},
|
||||
{
|
||||
name: 'Port',
|
||||
path: 'attributes.parameters.port',
|
||||
description: 'The port on which the server listens'
|
||||
},
|
||||
{
|
||||
name: 'Connections',
|
||||
path: 'attributes.statistics.connections',
|
||||
description: 'Current connection count'
|
||||
},
|
||||
{
|
||||
name: 'State',
|
||||
path: 'attributes.state',
|
||||
description: 'Server state'
|
||||
},
|
||||
{
|
||||
name: 'GTID',
|
||||
path: 'attributes.gtid_current_pos',
|
||||
description: 'Current value of @@gtid_current_pos'
|
||||
}
|
||||
]
|
||||
|
||||
@ -44,22 +50,27 @@ const list_services_fields = [
|
||||
{
|
||||
name: 'Service',
|
||||
path: 'id',
|
||||
description: 'Service name'
|
||||
},
|
||||
{
|
||||
name: 'Router',
|
||||
path: 'attributes.router',
|
||||
description: 'Router used by the service'
|
||||
},
|
||||
{
|
||||
name: 'Connections',
|
||||
path: 'attributes.connections',
|
||||
description: 'Current connection count'
|
||||
},
|
||||
{
|
||||
name: 'Total Connections',
|
||||
path: 'attributes.total_connections',
|
||||
description: 'Total connection count'
|
||||
},
|
||||
{
|
||||
name: 'Servers',
|
||||
path: 'relationships.servers.data[].id',
|
||||
description: 'Servers that the service uses'
|
||||
}
|
||||
]
|
||||
|
||||
@ -67,18 +78,22 @@ const list_listeners_fields = [
|
||||
{
|
||||
name: 'Name',
|
||||
path: 'id',
|
||||
description: 'Listener name'
|
||||
},
|
||||
{
|
||||
name: 'Port',
|
||||
path: 'attributes.parameters.port',
|
||||
description: 'The port where the listener listens'
|
||||
},
|
||||
{
|
||||
name: 'Host',
|
||||
path: 'attributes.parameters.host',
|
||||
description: 'The address or socket where the listener listens'
|
||||
},
|
||||
{
|
||||
name: 'State',
|
||||
path: 'attributes.state',
|
||||
description: 'Listener state'
|
||||
}
|
||||
]
|
||||
|
||||
@ -86,14 +101,17 @@ const list_monitors_fields = [
|
||||
{
|
||||
name: 'Monitor',
|
||||
path: 'id',
|
||||
description: 'Monitor name'
|
||||
},
|
||||
{
|
||||
name: 'State',
|
||||
path: 'attributes.state',
|
||||
description: 'Monitor state'
|
||||
},
|
||||
{
|
||||
name: 'Servers',
|
||||
path: 'relationships.servers.data[].id',
|
||||
description: 'The servers that this monitor monitors'
|
||||
}
|
||||
]
|
||||
|
||||
@ -101,26 +119,32 @@ const list_sessions_fields = [
|
||||
{
|
||||
name: 'Id',
|
||||
path: 'id',
|
||||
description: 'Session ID'
|
||||
},
|
||||
{
|
||||
name: 'User',
|
||||
path: 'attributes.user',
|
||||
description: 'Username'
|
||||
},
|
||||
{
|
||||
name: 'Host',
|
||||
path: 'attributes.remote',
|
||||
description: 'Client host address'
|
||||
},
|
||||
{
|
||||
name: 'Connected',
|
||||
path: 'attributes.connected',
|
||||
description: 'Time when the session started'
|
||||
},
|
||||
{
|
||||
name: 'Idle',
|
||||
path: 'attributes.idle',
|
||||
description: 'How long the session has been idle, in seconds'
|
||||
},
|
||||
{
|
||||
name: 'Service',
|
||||
path: 'relationships.services.data[].id',
|
||||
description: 'The service where the session connected'
|
||||
}
|
||||
]
|
||||
|
||||
@ -128,14 +152,17 @@ const list_filters_fields = [
|
||||
{
|
||||
name: 'Filter',
|
||||
path: 'id',
|
||||
description: 'Filter name'
|
||||
},
|
||||
{
|
||||
name: 'Service',
|
||||
path: 'relationships.services.data[].id',
|
||||
description: 'Services that use the filter'
|
||||
},
|
||||
{
|
||||
name: 'Module',
|
||||
path: 'attributes.module',
|
||||
description: 'The module that the filter uses'
|
||||
}
|
||||
]
|
||||
|
||||
@ -143,14 +170,17 @@ const list_modules_fields = [
|
||||
{
|
||||
name: 'Module',
|
||||
path: 'id',
|
||||
description: 'Module name'
|
||||
},
|
||||
{
|
||||
name: 'Type',
|
||||
path: 'attributes.module_type',
|
||||
description: 'Module type'
|
||||
},
|
||||
{
|
||||
name: 'Version',
|
||||
path: 'attributes.version',
|
||||
description: 'Module version'
|
||||
}
|
||||
]
|
||||
|
||||
@ -158,26 +188,32 @@ const list_threads_fields = [
|
||||
{
|
||||
name: 'Id',
|
||||
path: 'id',
|
||||
description: 'Thread ID'
|
||||
},
|
||||
{
|
||||
name: 'Current FDs',
|
||||
path: 'attributes.stats.current_descriptors',
|
||||
description: 'Current number of managed file descriptors'
|
||||
},
|
||||
{
|
||||
name: 'Total FDs',
|
||||
path: 'attributes.stats.total_descriptors',
|
||||
description: 'Total number of managed file descriptors'
|
||||
},
|
||||
{
|
||||
name: 'Load (1s)',
|
||||
path: 'attributes.stats.load.last_second',
|
||||
description: 'Load percentage over the last second'
|
||||
},
|
||||
{
|
||||
name: 'Load (1m)',
|
||||
path: 'attributes.stats.load.last_minute',
|
||||
description: 'Load percentage over the last minute'
|
||||
},
|
||||
{
|
||||
name: 'Load (1h)',
|
||||
path: 'attributes.stats.load.last_hour',
|
||||
description: 'Load percentage over the last hour'
|
||||
}
|
||||
]
|
||||
|
||||
@ -185,14 +221,17 @@ const list_users_fields = [
|
||||
{
|
||||
name: 'Name',
|
||||
path: 'id',
|
||||
description: 'User name'
|
||||
},
|
||||
{
|
||||
name: 'Type',
|
||||
path: 'type',
|
||||
description: 'User type'
|
||||
},
|
||||
{
|
||||
name: 'Privileges',
|
||||
path: 'attributes.account',
|
||||
description: 'User privileges'
|
||||
},
|
||||
]
|
||||
|
||||
@ -200,10 +239,12 @@ const list_commands_fields = [
|
||||
{
|
||||
name: 'Module',
|
||||
path: 'id',
|
||||
description: 'Module name'
|
||||
},
|
||||
{
|
||||
name: 'Commands',
|
||||
path: 'attributes.commands[].id',
|
||||
description: 'Available commands'
|
||||
}
|
||||
]
|
||||
|
||||
@ -213,7 +254,8 @@ exports.handler = function() {}
|
||||
exports.builder = function(yargs) {
|
||||
yargs
|
||||
.command('servers', 'List servers', function(yargs) {
|
||||
return yargs.epilog('List all servers in MaxScale.')
|
||||
return yargs.epilog('List all servers in MaxScale.' +
|
||||
fieldDescriptions(list_servers_fields))
|
||||
.usage('Usage: list servers')
|
||||
}, function(argv) {
|
||||
maxctrl(argv, function(host) {
|
||||
@ -260,7 +302,8 @@ exports.builder = function(yargs) {
|
||||
})
|
||||
})
|
||||
.command('services', 'List services', function(yargs) {
|
||||
return yargs.epilog('List all services and the servers they use.')
|
||||
return yargs.epilog('List all services and the servers they use.' +
|
||||
fieldDescriptions(list_services_fields))
|
||||
.usage('Usage: list services')
|
||||
}, function(argv) {
|
||||
maxctrl(argv, function(host) {
|
||||
@ -268,7 +311,8 @@ exports.builder = function(yargs) {
|
||||
})
|
||||
})
|
||||
.command('listeners <service>', 'List listeners of a service', function(yargs) {
|
||||
return yargs.epilog('List listeners for a service.')
|
||||
return yargs.epilog('List listeners for a service.' +
|
||||
fieldDescriptions(list_listeners_fields))
|
||||
.usage('Usage: list listeners <service>')
|
||||
}, function(argv) {
|
||||
maxctrl(argv, function(host) {
|
||||
@ -276,7 +320,8 @@ exports.builder = function(yargs) {
|
||||
})
|
||||
})
|
||||
.command('monitors', 'List monitors', function(yargs) {
|
||||
return yargs.epilog('List all monitors in MaxScale.')
|
||||
return yargs.epilog('List all monitors in MaxScale.' +
|
||||
fieldDescriptions(list_monitors_fields))
|
||||
.usage('Usage: list monitors')
|
||||
}, function(argv) {
|
||||
maxctrl(argv, function(host) {
|
||||
@ -284,7 +329,8 @@ exports.builder = function(yargs) {
|
||||
})
|
||||
})
|
||||
.command('sessions', 'List sessions', function(yargs) {
|
||||
return yargs.epilog('List all client sessions.')
|
||||
return yargs.epilog('List all client sessions.' +
|
||||
fieldDescriptions(list_sessions_fields))
|
||||
.usage('Usage: list sessions')
|
||||
}, function(argv) {
|
||||
maxctrl(argv, function(host) {
|
||||
@ -292,7 +338,8 @@ exports.builder = function(yargs) {
|
||||
})
|
||||
})
|
||||
.command('filters', 'List filters', function(yargs) {
|
||||
return yargs.epilog('List all filters in MaxScale.')
|
||||
return yargs.epilog('List all filters in MaxScale.' +
|
||||
fieldDescriptions(list_filters_fields))
|
||||
.usage('Usage: list filters')
|
||||
}, function(argv) {
|
||||
maxctrl(argv, function(host) {
|
||||
@ -300,7 +347,8 @@ exports.builder = function(yargs) {
|
||||
})
|
||||
})
|
||||
.command('modules', 'List loaded modules', function(yargs) {
|
||||
return yargs.epilog('List all currently loaded modules.')
|
||||
return yargs.epilog('List all currently loaded modules.' +
|
||||
fieldDescriptions(list_modules_fields))
|
||||
.usage('Usage: list modules')
|
||||
}, function(argv) {
|
||||
maxctrl(argv, function(host) {
|
||||
@ -308,7 +356,8 @@ exports.builder = function(yargs) {
|
||||
})
|
||||
})
|
||||
.command('threads', 'List threads', function(yargs) {
|
||||
return yargs.epilog('List all worker threads.')
|
||||
return yargs.epilog('List all worker threads.' +
|
||||
fieldDescriptions(list_threads_fields))
|
||||
.usage('Usage: list threads')
|
||||
}, function(argv) {
|
||||
maxctrl(argv, function(host) {
|
||||
@ -317,7 +366,8 @@ exports.builder = function(yargs) {
|
||||
})
|
||||
.command('users', 'List created users', function(yargs) {
|
||||
return yargs.epilog('List network the users that can be used to connect to the MaxScale REST API' +
|
||||
' as well as enabled local accounts.')
|
||||
' as well as enabled local accounts.' +
|
||||
fieldDescriptions(list_users_fields))
|
||||
.usage('Usage: list users')
|
||||
}, function(argv) {
|
||||
maxctrl(argv, function(host) {
|
||||
@ -325,7 +375,8 @@ exports.builder = function(yargs) {
|
||||
})
|
||||
})
|
||||
.command('commands', 'List module commands', function(yargs) {
|
||||
return yargs.epilog('List all available module commands.')
|
||||
return yargs.epilog('List all available module commands.' +
|
||||
fieldDescriptions(list_commands_fields))
|
||||
.usage('Usage: list commands')
|
||||
}, function(argv) {
|
||||
maxctrl(argv, function(host) {
|
||||
|
||||
Reference in New Issue
Block a user