e
|
The AdminTool is a lightweight tool that provides the ability for invoking commands on a running XVM or Application. It is intended primarily for use by developers; usage of Robin or Lumino is recommended for production usecases. The AdminTool discovers running XVMs and connects to them over TCP via their advertised xvm acceptor. |
The AdminTool can be found in the nvx-talon or nvx-core-all jar. And can be invoked as follows:
java -Dnv.discovery.descriptor=<xvm-discovery-descriptor> -cp “libs\*” com.neeve.tools.AdminTool __ __ _____ _ _______ ______ ____ _____ __ __ \ \ / / | __ \| | /\|__ __| ____/ __ \| __ \| \/ | \ V / | |__) | | / \ | | | |__ | | | | |__) | \ / | > < | ___/| | / /\ \ | | | __|| | | | _ /| |\/| | / . \ | | | |____ / ____ \| | | | | |__| | | \ \| | | | /_/ \_\ |_| |______/_/ \_\_| |_| \____/|_| \_\_| |_| XVM Admin Tool nvx-talon v3.12 (build 7) Copyright(c) 2019 Neeve Research, LLC All Rights Reserved Type 'help' for the list of commands admin> |
... where the libs folder contains the talon jar and its dependencies. The same discovery descriptor used by the XVM must be specified when launching the tool as the AdminTool discovers running XVMs and connects to them via the acceptor that each XVM has broadcast.
The 'xvms' command can be used to see which xvms have been discovered
admin> xvms XVM... ...cardholdermaster-1-1 [host = MY-LAPTOP, connected= false] ...cardholdermaster-2-1 [host = MY-LAPTOP, connected= false] ...cardmaster-1-1 [host = MY-LAPTOP, connected= false] ...cardmaster-2-1 [host = MY-LAPTOP, connected= false] ...fraudanalyzer-1-1 [host = MY-LAPTOP, connected= false] ...fraudanalyzer-2-1 [host = MY-LAPTOP, connected= false] ...merchantmaster-1-1 [host = MY-LAPTOP, connected= false] ...merchantmaster-2-1 [host = MY-LAPTOP, connected= false] ...perfdriver-1 [host = MY-LAPTOP, connected= false] |
The list of apps loaded in an XVM can be determined by using the 'admin' which invokes a command on the XVM that returns the list of loaded apps.
admin> admin perfdriver-1 app_list Invoking 'app_list' --> xvm 'perfdriver-1'... OK[admin,perfdriver] admin> |
The list of apps loaded in an XVM can be determined using the listAppCommand command as follows. The following shows an example of listing the commands for the perfdriver app shown to be running in the perfdriver-1 XVM in the example above.
admin> listAppCommands -x perfdriver-1 -a perfdriver -u Fetching commands for app='perfdriver' in xvm 'perfdriver-1'... Found '11 commands: ... getAuthorizationResponseCount ("Get Authorization Response Count") Gets the number of authorizations received Usage: getAuthorizationResponseCount getAuthorizationRequestCount ("Get Authorization Request Count") Gets the number of authorizations requested Usage: getAuthorizationRequestCount stopAuthorizationRequests ("Stop Sending") Halts Requests being sent to driven app Usage: stopAuthorizationRequests sendAuthorizationRequests ("Send Authorization Requests") Drives Authorization Request traffic Usage: sendAuthorizationRequests [-c] [-r] [-a] [<-c|--count> The rate at which to send requests default='10000'] [<-r|--rate> The rate at which to send requests default='1000'] [<-a|--async> Whether or not to spin up a background thread to do the sends default='true'] seedMerchants ("Seed Merchants") Seeds merchants with their stores. Usage: seedMerchants [-c] [-r] [<-c|--count> The number of merchants to seed default='100'] [<-r|--rate> The rate at which to send in merchants default='100'] seedCardHolders ("Seed Card Holders") Seeds card holders with their transaction history. Usage: seedCardHolders [-c] [-r] [-a] [<-c|--count> The number of card holders to seed default='100'] [<-r|--rate> The rate at which to send in card holders default='100'] [<-a|--async> Whether or not to spin up a background thread to do the sends default='true'] |
A command on an application can be invoked using the invoke command. The following shows an example of invoking the getAuthorizationRequestCount listed in the section above.
admin> invoke perfdriver perfdriver-1 getAuthorizationRequestCount Invoking 'getAuthorizationRequestCount' --> app='perfdriver' in xvm 'perfdriver-1'... OK[1000] admin> |
Tool PropertiesThe following properties can be set using set <Property Name> <Property Value>
CommandslistXvms | xvmsShows available xvms Usage: listXvms [-h] [<-h|--help> Displays this help message (default='false')] disconnectCloses currently open admin connections Usage: disconnect [-h] [<xvm>] [<-h|--help> Displays this help message (default='false')] [xvm: The XVM in whose connection should be closed (if omitted closes all connections) ] connectConnects to an xvm Usage: connect [-h] <xvm> [<-h|--help> Displays this help message (default='false')] xvm: The XVM to connect to. listAppCommandsList commands for an XVM or an app hosted by a XVM Usage: listAppCommands [-h] -x [-a] [-u] [<filter>] [<-h|--help> Displays this help message (default='false')] <-x|--xvm> The XVM in which to list commands [<-a|--app> The app whose command to list. If 'admin' or omitted then XVM administration commands are listed. (default='admin')] [<-u|--usage> Flag that can be specified to additionally show usage for the commands. (default='false')] [filter: Optionally can be specified to list only commands that contain this filter in their name. '*' indicates that all commands should be displayed default='*'] invokeSends a command to a XVM or an app hosted by a XVM Usage: invoke [-h] [<app>] <xvm> <command> [<-h|--help> Displays this help message (default='false')] [app: The app whose command to list. If 'server' or omitted then XVM commands are listed. default='admin'] xvm: The XVM in which to list commands command: The name of the command to execute [args: The command arguments] adminSends a command to a XVM or an app hosted by a XVM Usage: admin [-h] <dest> <command> [<-h|--help> Displays this help message (default='false')] dest: The app and XVM against which to invoke the command specfied as <appName>@<xvmName>. The appName can be omitted if the command is an XVM command. command: The name of the command to execute [args: The command arguments] General CommandsgetGets a configuration or environment property Usage: get [-h] [-a] [<propName>] [<-h|--help> Displays this help message (default='false')] [<-a|--all> flag indicating that all properties should be listed (default='false')] [propName: The name of property to get, or with -a, a filter on properties to list] resetReset a configuration or environment property to its default value Usage: reset [-h] <propName> [<-h|--help> Displays this help message (default='false')] propName: The name of property to reset. '*' resets all properties to their default value. setSets a configuration or environment property Usage: set [-h] [<propName>] [<propValue>] [<-h|--help> Displays this help message (default='false')] [propName: The name of property to set, if no name is set config properties are listed] [propValue: The value of the property to set. If omitted clears the property] stacktracesSets whether or not command exception stacktraces should be shown Usage: stacktraces [-h] <enabled> [<-h|--help> Displays this help message (default='false')] enabled: <true|false|off|on> Indicates whether or not command exceptions should be displayed historyDisplays command history Usage: history [-h] [-c] [<n>] [<-h|--help> Displays this help message (default='false')] [<-c|--clear> Clears command history] [n: lists only the last 'n' lines default='1000'] helpDisplays help message Usage: help [-h] [<command>] [<-h|--help> Displays this help message (default='false')] [command: When specifies displays help for that command only] ansiEnables or disables ansi output Usage: ansi [-h] [<value>] [<-h|--help> Displays this help message (default='false')] [value: <off|on> Turns ansi on or off. With no argument display the current ansi setting] echoDisplays a message or turns echo on or off Usage: echo [-h] [<value>] [<-h|--help> Displays this help message (default='false')] [value: Displays a message or turns echo on or off. With no argument list the current echo setting] [message: A message to display default=''] scriptRuns a command script Usage: script [-h] [<script>] [<-h|--help> Displays this help message (default='false')] [script: The script file to execute] bye | exit | quitExit the tool. Usage: bye [-h] [<-h|--help> Displays this help message (default='false')]
|