Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

using redis #124

Merged
merged 5 commits into from
Nov 14, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ apis
ArgoCD
AutoX
backend
BadgerDB
benchmarking
Cha
chaosengine
Expand All @@ -25,6 +26,7 @@ Fortio
frontend
GitOps
gRPC
GetClient
GitHub
Grafana
GVR
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/first-abn.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ Uninstall the Iter8 controller:
If you installed Grafana, you can delete it as follows:

```shell
kubectl delete svc/grafana, deploy/grafana
kubectl delete svc/grafana deploy/grafana
```

***
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/first-performance.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ kubectl delete deploy/httpbin
If you installed Grafana, you can delete it as follows:

```shell
kubectl delete svc/grafana, deploy/grafana
kubectl delete svc/grafana deploy/grafana
```

***
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/install.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
```shell
helm install --repo https://iter8-tools.github.io/iter8 --version 0.18 iter8 controller \
helm upgrade --install --repo https://iter8-tools.github.io/iter8 --version 0.18 iter8 controller \
--set clusterScoped=true
```

Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/integrations/kserve-mm/abn.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,5 +200,5 @@ Uninstall Iter8 controller:
If you installed Grafana, you can delete it as follows:

```shell
kubectl delete svc/grafana, deploy/grafana
kubectl delete svc/grafana deploy/grafana
```
2 changes: 1 addition & 1 deletion docs/tutorials/integrations/kserve/abn-grpc.md
Original file line number Diff line number Diff line change
Expand Up @@ -212,5 +212,5 @@ Uninstall Iter8 controller:
If you installed Grafana, you can delete it as follows:

```shell
kubectl delete svc/grafana, deploy/grafana
kubectl delete svc/grafana deploy/grafana
```
2 changes: 1 addition & 1 deletion docs/tutorials/integrations/kserve/abn-http.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,5 +199,5 @@ Uninstall Iter8 controller:
If you installed Grafana, you can delete it as follows:

```shell
kubectl delete svc/grafana, deploy/grafana
kubectl delete svc/grafana deploy/grafana
```
2 changes: 1 addition & 1 deletion docs/tutorials/integrations/kserve/grpc.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ kubectl delete inferenceservice sklearn-irisv2
If you installed Grafana, you can delete it as follows:

```shell
kubectl delete svc/grafana, deploy/grafana
kubectl delete svc/grafana deploy/grafana
```

??? note "Some variations and extensions of this performance test"
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/integrations/kserve/http.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ kubectl delete inferenceservice sklearn-irisv2
If you installed Grafana, you can delete it as follows:

```shell
kubectl delete svc/grafana, deploy/grafana
kubectl delete svc/grafana deploy/grafana
```

??? note "Some variations and extensions of this performance test"
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/load-test-grpc-multiple.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ kubectl delete deploy/routeguide
If you installed Grafana, you can delete it as follows:

```shell
kubectl delete svc/grafana, deploy/grafana
kubectl delete svc/grafana deploy/grafana
```

??? note "Some variations and extensions of this performance test"
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/load-test-grpc.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ kubectl delete deploy/routeguide
If you installed Grafana, you can delete it as follows:

```shell
kubectl delete svc/grafana, deploy/grafana
kubectl delete svc/grafana deploy/grafana
```

??? note "Some variations and extensions of this performance test"
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/load-test-http-multiple.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ kubectl delete deploy/httpbin
If you installed Grafana, you can delete it as follows:

```shell
kubectl delete svc/grafana, deploy/grafana
kubectl delete svc/grafana deploy/grafana
```

??? note "Some variations and extensions of this performance test"
Expand Down
52 changes: 52 additions & 0 deletions docs/user-guide/topics/metrics_store.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
template: main.html
---

# Metrics store

One of Iter8's key advantages is that it incorporates its own metrics store simplifying the set up and execution of A/B/n and performance tests. Iter8 currently supports the following databases:

- BadgerDB
- Redis

Iter8 uses BadgerDB by default. Note, however, that BadgerDB is not suitable for prodcution use and is only suitable for a single instance of Iter8. Support for other databases are in the works. See [below](#contribute-a-new-metrics-store-implementation) for details on how to contribute additional implementations.
kalantar marked this conversation as resolved.
Show resolved Hide resolved

## Using Redis as the metrics store

We assume that Redis is deployed. For example, for a basic deployment:
kalantar marked this conversation as resolved.
Show resolved Hide resolved

```shell
kubectl create deploy redis --image=redis/redis-stack:latest --port=6379
kubectl expose deploy redis --port=6379
```

Run Iter8 with the metrics store implementation set to `redis` and specify its endpoint:

```shell
helm upgrade --install --repo https://iter8-tools.github.io/iter8 --version 0.18 iter8 controller \
--set clusterScoped=true \
--set metrics.implementation=redis \
--set metrics.redis.addresss=redis:6379
```

## Contribute a new metrics store implementation

To contribute a new metrics store implementation:

1. Create an [issue](https://github.com/iter8-tools/iter8/issues) for discussion.

2. Submit a pull request on the [Iter8 project](https://github.com/iter8-tools/iter8) with the following updates:

- Create sub-folder in [storage](https://github.com/iter8-tools/iter8/tree/master/storage) and provide an implementation of this [interface](https://github.com/iter8-tools/iter8/blob/master/storage/interface.go) including test cases.
kalantar marked this conversation as resolved.
Show resolved Hide resolved

- Add a new case to [metrics.GetClient()](https://github.com/iter8-tools/iter8/blob/master/metrics/client.go).

- Update [go.mod](https://github.com/iter8-tools/iter8/blob/master/go.mod) and [go.sum](https://github.com/iter8-tools/iter8/blob/master/go.sum) if needed.

- Update the default Helm chart configuration [values.yaml](https://github.com/iter8-tools/iter8/blob/master/charts/controller/values.yaml) and bump the chart version in [Chart.yaml](https://github.com/iter8-tools/iter8/blob/master/charts/controller/Chart.yaml).

- Please also consider including your information in our list of [adopters](https://github.com/iter8-tools/iter8/blob/master/ADOPTERS.md).

3. Submit a second pull request on the Iter8 [docs project](https://github.com/iter8-tools/docs) updating the list of available implementations.

4. Alert the project reviewers on [Slack](https://join.slack.com/t/iter8-tools/shared_invite/zt-awl2se8i-L0pZCpuHntpPejxzLicbmw) `#development` channel.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ nav:
- Routemaps: user-guide/topics/routemap.md
- Install options: user-guide/topics/install.md
- Uninstall options: user-guide/topics/uninstall.md
- Metrics store options: user-guide/topics/metrics_store.md
- Contributing: contributing.md
- Roadmap: roadmap.md
- Community:
Expand Down
Loading