diff --git a/analysis/README.md b/analysis/README.md index 3c96cf0b6e67a60ebbb4c610ca69fcbcb27876a0..8d37f01c011e74bf258e2d411bc72f32f0ddcfdc 100644 --- a/analysis/README.md +++ b/analysis/README.md @@ -9,7 +9,7 @@ benchmark execution results and plotting. The following notebooks are provided: For legacy reasons, we also provide the following notebooks, which, however, are not documented: * [scalability-graph.ipynb](scalability-graph.ipynb): Creates a scalability graph for a certain benchmark execution. -* [scalability-graph-final.ipynb](scalability-graph-final.ipynb): Combines the scalability graphs of multiple benchmarks executions (e.g. for comparing different configuration). +* [scalability-graph-plotter.ipynb](scalability-graph-plotter.ipynb): Combines the scalability graphs of multiple benchmarks executions (e.g. for comparing different configuration). * [lag-trend-graph.ipynb](lag-trend-graph.ipynb): Visualizes the consumer lag evaluation over time along with the computed trend. ## Usage diff --git a/analysis/demand-metric-plot.ipynb b/analysis/demand-metric-plot.ipynb index 95f371510bbcc8af785739c50bce42e969ea2b80..985d1fc91caec847f1795234903d1cbb34e3ddba 100644 --- a/analysis/demand-metric-plot.ipynb +++ b/analysis/demand-metric-plot.ipynb @@ -34,7 +34,7 @@ }, { "source": [ - "We need to specify the directory, where the demand CSV files can be found, and a dictionary that maps a system description (e.g. its name) to the corresponding CSV file (prefix). " + "We need to specify the directory, where the demand CSV files can be found, and a dictionary that maps a system description (e.g. its name) to the corresponding CSV file (prefix). To use Unicode narrow non-breaking spaces in the description format it as `u\"1000\\u202FmCPU\"`." ], "cell_type": "markdown", "metadata": {} diff --git a/analysis/demand-metric.ipynb b/analysis/demand-metric.ipynb index 525bde211afcabeecf52f1e88f3c91c02a77a152..bcea129b7cb07465fa99f32b6f8b2b6115e8a0aa 100644 --- a/analysis/demand-metric.ipynb +++ b/analysis/demand-metric.ipynb @@ -4,7 +4,7 @@ "source": [ "# Theodolite Analysis - Demand Metric\n", "\n", - "This notebook allows applies Theodolite's *demand* metric to describe scalability of a SUT based on Theodolite measurement data.\n", + "This notebook applies Theodolite's *demand* metric to describe scalability of a SUT based on Theodolite measurement data.\n", "\n", "Theodolite's *demand* metric is a function, mapping load intensities to the minimum required resources (e.g., instances) that are required to process this load. With this notebook, the *demand* metric function is approximated by a map of tested load intensities to their minimum required resources.\n", "\n", diff --git a/analysis/scalability-graph-finish.ipynb b/analysis/scalability-graph-plotter.ipynb similarity index 100% rename from analysis/scalability-graph-finish.ipynb rename to analysis/scalability-graph-plotter.ipynb diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000000000000000000000000000000000000..4fd13bdfc157efe8b3491695bb83972f96a82c5d --- /dev/null +++ b/docs/README.md @@ -0,0 +1,25 @@ +--- +title: Theodolite +nav_order: 1 +permalink: / +--- + +# Theodolite + +> A theodolite is a precision optical instrument for measuring angles between designated visible points in the horizontal and vertical planes. -- <cite>[Wikipedia](https://en.wikipedia.org/wiki/Theodolite)</cite> + +Theodolite is a framework for benchmarking the horizontal and vertical scalability of stream processing engines. It consists of three modules: + +## Theodolite Benchmarks + +Theodolite contains 4 application benchmarks, which are based on typical use cases for stream processing within microservices. For each benchmark, a corresponding workload generator is provided. Currently, this repository provides benchmark implementations for Kafka Streams. + + +## Theodolite Execution Framework + +Theodolite aims to benchmark scalability of stream processing engines for real use cases. Microservices that apply stream processing techniques are usually deployed in elastic cloud environments. Hence, Theodolite's cloud-native benchmarking framework deploys as components in a cloud environment, orchestrated by Kubernetes. More information on how to execute scalability benchmarks can be found in [Thedolite execution framework](execution). + + +## Theodolite Analysis Tools + +Theodolite's benchmarking method create a *scalability graph* allowing to draw conclusions about the scalability of a stream processing engine or its deployment. A scalability graph shows how resource demand evolves with an increasing workload. Theodolite provides Jupyter notebooks for creating such scalability graphs based on benchmarking results from the execution framework. More information can be found in [Theodolite analysis tool](analysis). diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 0000000000000000000000000000000000000000..b0f0a13c22083b21a7c90ceaed44b846ffe55550 --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,6 @@ +title: "Theodolite" +remote_theme: pmarsceill/just-the-docs +#color_scheme: "dark" +aux_links: + "Theodolite on GitHub": + - "//github.com/cau-se/theodolite" \ No newline at end of file diff --git a/docs/release-process.md b/docs/release-process.md index f267d611fb08931dd766c2f9952655f9dae62e32..c53ea4423eb1dbf521d13286448f33a9613b71ef 100644 --- a/docs/release-process.md +++ b/docs/release-process.md @@ -1,3 +1,9 @@ +--- +title: Release Process +has_children: false +nav_order: 2 +--- + # Release Process We assume that we are creating the release `v0.1.1`. Please make sure to adjust diff --git a/execution/infrastructure/kafka/values.yaml b/execution/infrastructure/kafka/values.yaml index d130410d62c42cc9e162434386251e29c9ed7612..15fd8a822a18521f247584d1becbd09c19c137d2 100644 --- a/execution/infrastructure/kafka/values.yaml +++ b/execution/infrastructure/kafka/values.yaml @@ -55,7 +55,8 @@ cp-kafka: # "min.insync.replicas": 2 "auto.create.topics.enable": false "log.retention.ms": "10000" # 10s - #"log.retention.ms": "86400000" # 24h + # "log.retention.ms": "86400000" # 24h + # "group.initial.rebalance.delay.ms": "30000" # 30s "metrics.sample.window.ms": "5000" #5s ## ------------------------------------------------------