Keep track of tests running times during your deployments.
$ npm install -g sfdx-runtimes-exporter
$ sfdx COMMAND
running command...
$ sfdx (-v|--version|version)
sfdx-runtimes-exporter/0.0.1 win32-x64 node-v17.7.1
$ sfdx --help [COMMAND]
USAGE
$ sfdx COMMAND
...
$ npm install -g sfdx-runtimes-exporter
$ sfdx COMMAND
running command...
$ sfdx (-v|--version|version)
sfdx-runtimes-exporter/0.0.1 win32-x64 node-v17.7.1
$ sfdx --help [COMMAND]
USAGE
$ sfdx COMMAND
...
sfdx list [-b <datetime>] [-a <datetime>] [-l] [-m <integer>] [-o csv|json|S3|dynamoDB] [-d <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx runtimes -i <id> [-o csv|json|S3|dynamoDB] [-d <string>] [-t <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx list [-b <datetime>] [-a <datetime>] [-l] [-m <integer>] [-o csv|json|S3|dynamoDB] [-d <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Retrieve IDs of successful deployments with tests within a given time range
USAGE
$ sfdx list [-b <datetime>] [-a <datetime>] [-l] [-m <integer>] [-o csv|json|S3|dynamoDB] [-d <string>] [-u <string>]
[--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --after=after date time after which the
deployments should be retrieved
-b, --before=before date time before which the
deployments should be retrieved
-d, --target=target target location to save the results
(do not include the file name)
-l, --latest retrieve only the latest deployments
(provide the "max" flag to retrieve
more than one)
-m, --max=max [default: 10] maximum number of
deployments to be retrieved
-o, --output=(csv|json|S3|dynamoDB) [default: json] where do you want to
output the results
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLES
sfdx list --targetusername [email protected] --before "01/02/2000 01:02:34" --max=5 --output=csv --target=myFolder
sfdx list --targetusername [email protected] --after "01/02/2000 01:02:34" --output=csv --target=myFolder
sfdx list --targetusername [email protected] --latest --max=5 --output=csv --target=myFolder
See code: src/commands/list.ts
sfdx runtimes -i <id> [-o csv|json|S3|dynamoDB] [-d <string>] [-t <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Retrieve tests execution time for a given deployment
USAGE
$ sfdx runtimes -i <id> [-o csv|json|S3|dynamoDB] [-d <string>] [-t <integer>] [-u <string>] [--apiversion <string>]
[--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --target=target target location to save the results
(do not include the file name)
-i, --deployment=deployment (required) id of the deployment to
get tests execution time for
-o, --output=(csv|json|S3|dynamoDB) [default: json] where do you want to
output the results
-t, --threshold=threshold return the tests execution time to
only those above the threshold (in
milliseconds)
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLES
sfdx runtimes --targetusername [email protected] --deployment deploymentId --output=s3 --target=s3://myBucket/myFolder
sfdx runtimes --targetusername [email protected] --deployment deploymentId --output=csv --target=myFolder
sfdx runtimes --targetusername [email protected] --deployment deploymentId --output=dynamoDB --target=myTable
sfdx runtimes --targetusername [email protected] --deployment deploymentId --output=json --target=myFolder
--threshold=10000
See code: src/commands/runtimes.ts
sfdx runtimes:tests -i <id> [-o csv|json|S3|dynamoDB] [-d <string>] [-t <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Retrieve tests execution time for a given deployment
USAGE
$ sfdx runtimes:tests -i <id> [-o csv|json|S3|dynamoDB] [-d <string>] [-t <string>] [-u <string>] [--apiversion
<string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --target=target target location to save the results
(do not include the file name)
-i, --deployment=deployment (required) id of the deployment to
get tests execution time for
-o, --output=(csv|json|S3|dynamoDB) [default: json] where do you want to
output the results
-t, --threshold=threshold return the tests execution time to
only those above the threshold (in
milliseconds)
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLES
sfdx per:tst --deployment deploymentId --targetusername [email protected] --output=s3 --target=s3://myBucket/myFolder
sfdx per:tst --deployment deploymentId --targetusername [email protected] --output=csv --target=myFile.csv
sfdx per:tst --deployment deploymentId --targetusername [email protected] --output=dynamoDB --target=myTable
sfdx per:tst --deployment deploymentId --targetusername [email protected] --output=json --target=myFile.json
--threshold=10000
See code: src/commands/runtimes/tests.ts
We recommend using the Visual Studio Code (VS Code) IDE for your plugin development. Included in the .vscode
directory of this plugin is a launch.json
config file, which allows you to attach a debugger to the node process when running your commands.
To debug the hello:org
command:
- Start the inspector
If you linked your plugin to the sfdx cli, call your command with the dev-suspend
switch:
$ sfdx hello:org -u [email protected] --dev-suspend
Alternatively, to call your command using the bin/run
script, set the NODE_OPTIONS
environment variable to --inspect-brk
when starting the debugger:
$ NODE_OPTIONS=--inspect-brk bin/run hello:org -u [email protected]
- Set some breakpoints in your command code
- Click on the Debug icon in the Activity Bar on the side of VS Code to open up the Debug view.
- In the upper left hand corner of VS Code, verify that the "Attach to Remote" launch configuration has been chosen.
- Hit the green play button to the left of the "Attach to Remote" launch configuration window. The debugger should now be suspended on the first line of the program.
- Hit the green play button at the top middle of VS Code (this play button will be to the right of the play button that you clicked in step #5).
Congrats, you are debugging!