Skip to content

v0.5.0

Compare
Choose a tag to compare
@SoerenHenning SoerenHenning released this 04 Nov 16:43
· 1262 commits to master since this release

This is the release of Theodolite 0.5.0. With this release we entirely revised Theodolite's architecture and re-implemented it from scratch. This release is a huge step toward the first stable version of Theodolite. Features of this release include:

  • Entire rewrite of Theodolite in Kotlin and Quarkus for better interaction with the Kubernetes API
  • Optional execution as Kubernetes Operator for better usability (recommended)
  • A data model for defining benchmarks (as CRD in operator mode) to support arbitrary benchmarks and SUTs apart from the Theodolite benchmarks. This includes:
    • Description of SUTs and LoadGenerators as sets of Kubernetes resources
    • Support for arbitrary load and resources types, according to our scalability metric
    • Flexible configuration of Kafka topics
    • Benchmark CRs for the Theodolite Kafka Streams and Flink benchmarks are provided
  • A data model for describing benchmark executions (again as CRD in operator mode). This includes:
    • Support for repeating SLO experiments, from which the median lag trend value is then chosen
    • Extension mechanism for custom SLO checkers
    • Support for arbitrary configuration changes of the SUT or load generator to benchmark different SUT configurations etc.
  • A Theodolite Helm chart (recommended way for installation)
  • Optional usage of a random scheduler to mitigate scheduling effects on the benchmark results
  • Full support for implementations of the Theodolite benchmarks with Flink (partly already releases with v.0.4.0)

We thank @benediktwetzel, @lorenzboguhn, @sehrenstein, @bvonheid and @NicoBiernat for their massive support in designing, implementing, and testing Theodolite v0.5.0.