Releases: cau-se/theodolite
v0.9.0
This is the release of Theodolite 0.9.0. The most important new features are:
- SLO thresholds can now be defined relatively to tested load intensities and provisioned resources. Even arbitrary complex mathematical expressions with load and resources as variables are possible.
- A new generic patcher allows to patch arbitrary Kubernetes resources (including CRDs) by specifying the JSON path ob the field to be patched.
- The configuration and implementations of the Theodolite stream processing benchmarks are further aligned to allow for a better comparison of different frameworks.
- The Theodolite benchmark definitions for the stream processing benchmarks are extended to include options for vertical scaling and provide a dropped records SLO. They also define topics now using Strimzi.
- Configurability of the Strimzi Kafka deployment is improved.
v0.8.6
This is the release of Theodolite 0.8.6. It introduces the following changes:
- Theodolite's Hazelcast Jet benchmarks can be now installed via Helm
- A bug is fixed regarding the restriction search
- Consumer group filters are added to all benchmarks (required if used with Strimzi)
- Benchmarks are assigned Kubernetes labels
- Theodolite's CPU and memory resources are now configurable via Helm
v0.8.5
This is the release of Theodolite 0.8.5. It introduces support for setting nodeSelectors
or nodeAffinities
for Strimzi's Kafka Exporter and the ZooEntrance pods via Helm.
v0.8.4
This is the release of Theodolite 0.8.4. It fixes an issue introduced with the release of 0.8.3.
v0.8.3
This is the release of Theodolite 0.8.3. It provides a bug fix for setting Strimzi's ZooKeeper Pod templates via Helm.
v0.8.2
This is the release of Theodolite 0.8.2. It upgrades the kube-prometheus-stack to v41.7.* in our Helm chart. This comes with the following under-the-hood changes:
- We now use Grafana from kube-prometheus-stack instead of own subchart.
- This also upgrades Grafana to the latest version.
- As Grafana is only used for passive observation, nothing should have changed concerning the benchmark execution. However, to recover the old installation, set
kube-prometheus-stack.grafana.enabled
tofalse
and setgrafana
to the default configuration from v0.8.1 in yourvalues.yaml
.
- The optional full-stack monitoring is now enhanced.
- Note that this should not change anything in the default configuration but only if you use the kube-prometheus-stack to collect cluster metrics, node-level metrics, etc.
- For full-stack monitoring, the default Prometheus from kube-prometheus-stack can now be used.
- We provide a Helm values file for enabling full-stack monitoring.
- Using this file now enables additional Kubernetes metrics exporters and Grafana dashboards.
v0.8.1
v0.8.0
This is the release of Theodolite 0.8.0. The most important new features are:
- Theodolite now comes with four benchmark implementations for Hazelcast Jet.
- SLOs are now defined per benchmark and not per execution. This is more natural as typically the benchmark designer knows about relevant metrics and SLOs. However, benchmarkers can still override SLO configurations such as thresholds.
- Theodolite adds full supports for the load capacity metric. Benchmarkers can choose whether they would like to use the already existing resource demand metric or the new load capacity metric.
- Delete Actions are a second type of before/after actions, which, as their name suggests, delete Kubernetes resources when being executed.
- The execution CRD definition for configuring the search strategy has changed.
- Installation of the Confluent Helm chart is now disabled per default and will be completely removed in a future release.
Please note that the Theodolite's CRDs have changed. When upgrading from a previous version, a simple helm upgrade
will not be sufficient. Instead you should uninstall and re-install Theodolite. As our CRDs full name has also changed, you might need to additionally run kubectl delete crd executions.theodolite.com; kubectl delete crd benchmarks.theodolite.com
, before re-installing Theodolite.
v0.7.0
This is the release of Theodolite 0.7.0. The most important new features are:
- Theodolite now supports deploying arbitrary resources. This includes CRDs, managed by other operators.
- Strimzi is used instead of the Confluent Helm charts for managing Kafka topics.
- Before and After Actions can be used to define specific behavior to be run directly before the benchmark is started or before it is finished.
- Theodolite creates a result CSV file directly after running a benchmark. Using the analysis notebooks is now optional, e.g., to evaluate different settings or plot results.
- The initial guess strategy for running SLO experiments provides some advantages over the linear search.
- Benchmark implementations for Apache Beam were added.
- UC1 provides a generic interface for potentially different sinks (e.g., databases).
- The UC1 implementation for Apache Beam supports Google Cloud Firestore as one of these sinks.
- The load generator now exports metrics in Prometheus format (using Micrometer under the hood).
- The load generator can now generate messages via HTTP and for Google Cloud Pub/Sub.
- A HTTP Bridge was added, which receives HTTP messages from Theodolite's load generator and forwards them as Kafka messages.
v0.6.4
This is the release of Theodolite 0.6.4. It fixes an unresolveable Helm dependency (seglo/kafka-lag-exporter#316).