Skip to content

Releases: cau-se/theodolite

v0.9.0

19 Jul 07:57
Compare
Choose a tag to compare

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

14 Apr 13:32
Compare
Choose a tag to compare

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

09 Feb 16:24
Compare
Choose a tag to compare

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

01 Feb 13:02
Compare
Choose a tag to compare

This is the release of Theodolite 0.8.4. It fixes an issue introduced with the release of 0.8.3.

v0.8.3

31 Jan 17:27
Compare
Choose a tag to compare

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

20 Nov 10:35
Compare
Choose a tag to compare

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 to false and set grafana to the default configuration from v0.8.1 in your values.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

16 Nov 08:41
Compare
Choose a tag to compare

This is the release of Theodolite 0.8.1. It upgrades Strimzi to v0.29.0 to support Kubernetes >=1.25. The default Kafka version does not change.

v0.8.0

18 Jul 16:13
Compare
Choose a tag to compare

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

11 May 12:09
Compare
Choose a tag to compare

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

16 Feb 14:55
Compare
Choose a tag to compare

This is the release of Theodolite 0.6.4. It fixes an unresolveable Helm dependency (seglo/kafka-lag-exporter#316).