ETNA CLI is a command line interface that allows you to interact with the ETNA Benchmarking and Analysis Platform. It provides a set of commands to manage your experiments, and results.
To install the ETNA CLI, you can use the following CURL command:
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/alpaylan/etna-cli/releases/download/v0.1.0/etna-installer.sh | sh
To get started, you can use the etna-cli --help
command to see the list of available commands.
etna --help
The commands are organized in the following categories:
experiment
: Create, delete, move experimentsworkload
: Create, delete, move workloads within an experimentstore
: Write a metric, or query the central etna storagecheck
: Run integrity checks on etna, apply fixes in cases.config
: Manage the global ETNA configurationsetup
: Setup the ETNA CLI
Creates a new experiment with <NAME>
, and at location [PATH]
.
Usage: etna experiment new [OPTIONS] <NAME> [PATH]
Arguments:
<NAME> Name of the new experiment
[PATH] An optional root path, if not provided, the current directory is used
Options:
-o, --overwrite Overwrite the existing experiment
-r, --register Register the experiment in the store [default: false]
-d, --description <DESCRIPTION> Description of the experiment [default: A description of the experiment]
Runs a given set of TESTS
for the experiment NAME
.
Usage: etna experiment run [OPTIONS]
Options:
-n, --name <NAME> Name of the experiment to run [default: current directory]
-t, --tests <TESTS> Tests to run
Show the details of an experiment, either via NAME
or by experiment hash HASH
.
Users cannot create multiple experiments with the same name, but experiments are
uniquely identified by their hashes, which represents the current state of the experiment.
When users create an experiment, every call to the etna
interface saves a snapshot of the experiment,
matching the experiment results with its current results.
Usage: etna experiment show [OPTIONS]
Options:
--name <NAME> Name
--hash <HASH> Hash
-a, --show-all Show all the experiments
Add a workload to the experiment. This currently uses the workloads shipped with the binary etna distribution, may change to pull from a remote in the future for reducing coupling.
Usage: etna workload add [OPTIONS] <LANGUAGE> <WORKLOAD>
Arguments:
<LANGUAGE> Language of the workload [default: coq] [possible_values(coq, haskell, racket, ocaml)]
<WORKLOAD> Workload to be added [default: bst] [possible_values(bst, rbt, stlc, systemf, ifc)]
Options:
-e, --experiment <EXPERIMENT> Name of the experiment [default: current directory]
Remove a workload from the experiment
Usage: etna workload remove [OPTIONS] <LANGUAGE> <WORKLOAD>
Arguments:
<LANGUAGE> Language of the workload [default: coq] [possible_values(coq, haskell, racket, ocaml)]
<WORKLOAD> Workload to be added [default: bst] [possible_values(bst, rbt, stlc, systemf, ifc)]
Options:
-e, --experiment <EXPERIMENT> Name of the experiment [default: current directory]
List all workloads
Usage: etna workload list [OPTIONS]
Options:
-e, --experiment <EXPERIMENT> Name of the experiment [default: current directory]
-l, --language <LANGUAGE> Language of the workload [possible_values(coq, haskell, racket)] [default: all]
-k, --kind <KIND> Available or experiment workloads [possible_values(available, experiment)] [default: experiment]