Skip to content

Your First Experiment

Get started with your first Iter8 experiment by benchmarking an HTTP service.


1. Install Iter8 CLI

Install the latest stable release of the Iter8 CLI using brew as follows.

brew tap iter8-tools/iter8
brew install iter8
Install a specific version

You can install the Iter8 CLI with specific major and minor version numbers. For example, the following command installs the release of the Iter8 CLI with major 0 and minor 9.

brew tap iter8-tools/iter8
brew install iter8@0.9

You can replace v0.9.0 with any desired Iter8 release tag.

wget https://github.com/iter8-tools/iter8/releases/download/v0.9.0/iter8-darwin-amd64.tar.gz
tar -xvf iter8-darwin-amd64.tar.gz
Move darwin-amd64/iter8 to any directory in your PATH.

wget https://github.com/iter8-tools/iter8/releases/download/v0.9.0/iter8-linux-amd64.tar.gz
tar -xvf iter8-linux-amd64.tar.gz
Move linux-amd64/iter8 to any directory in your PATH.

wget https://github.com/iter8-tools/iter8/releases/download/v0.9.0/iter8-linux-386.tar.gz
tar -xvf iter8-linux-386.tar.gz
Move linux-386/iter8 to any directory in your PATH.

wget https://github.com/iter8-tools/iter8/releases/download/v0.9.0/iter8-windows-amd64.tar.gz
tar -xvf iter8-windows-amd64.tar.gz
Move windows-amd64/iter8.exe to any directory in your PATH.

Go 1.17+ is a pre-requisite. Replace v0.9.0 with any desired Iter8 release tag.

export TAG=v0.9.0
https://github.com/iter8-tools/iter8.git?ref=${TAG}
cd iter8
make install

You can replace v0.9.0 with any desired Iter8 release tag.

go install github.com/iter8-tools/iter8@v0.9.0
You can now run iter8 (from your gopath bin/ directory)

2. Launch experiment

Use iter8 launch to benchmark the HTTP service whose URL is https://httpbin.org/get.

iter8 launch -c load-test-http --set url=https://httpbin.org/get

The iter8 launch subcommand downloads an experiment chart from Iter8 hub, combines the chart with values that are set in order to generate the experiment.yaml file, runs the experiment, and writes results into the result.yaml file.

3. View experiment report

iter8 report
The text report looks like this
Experiment summary:
*******************

  Experiment completed: true
  No task failures: true
  Total number of tasks: 1
  Number of completed tasks: 1

Latest observed values for metrics:
***********************************

  Metric                              |value
  -------                             |-----
  built-in/http-error-count           |0.00
  built-in/http-error-rate            |0.00
  built-in/http-latency-max (msec)    |203.78
  built-in/http-latency-mean (msec)   |17.00
  built-in/http-latency-min (msec)    |4.20
  built-in/http-latency-p50 (msec)    |10.67
  built-in/http-latency-p75 (msec)    |12.33
  built-in/http-latency-p90 (msec)    |14.00
  built-in/http-latency-p95 (msec)    |15.67
  built-in/http-latency-p99 (msec)    |202.84
  built-in/http-latency-p99.9 (msec)  |203.69
  built-in/http-latency-stddev (msec) |37.94
  built-in/http-request-count         |100.00
iter8 report -o html > report.html # view in a browser
The HTML report looks like this

HTML report

Congratulations! 🎉 You completed your first Iter8 experiment.

Next steps
  1. Learn more about benchmarking and validating HTTP services with service-level objectives (SLOs).
  2. Learn more about benchmarking and validating gRPC services with service-level objectives (SLOs).
Back to top