Skip to content
Snippets Groups Projects
Commit 44e97647 authored by Björn Vonheiden's avatar Björn Vonheiden
Browse files

Merge branch 'feature/runUcPython' into feature/theodolitePython

parents fa6d70fa 36403d17
No related branches found
No related tags found
1 merge request!42Integerate theodolite and run uc python scripts
......@@ -46,7 +46,6 @@ checkstyle:
tags:
- exec-docker
script: ./gradlew checkstyle --continue
allow_failure: true
artifacts:
paths:
- "*/build/reports/checkstyle/main.html"
......@@ -58,7 +57,6 @@ pmd:
tags:
- exec-docker
script: ./gradlew pmd --continue
allow_failure: true
artifacts:
paths:
- "*/build/reports/pmd/*.html"
......@@ -70,7 +68,6 @@ spotbugs:
tags:
- exec-docker
script: ./gradlew spotbugs --continue
allow_failure: true
artifacts:
paths:
- "*/build/reports/spotbugs/*.html"
......
# Release Process
We assume that we are creating the release `v0.1.1`. Please make sure to update
to modify the following steps according to the release, you are actually
performing.
We assume that we are creating the release `v0.1.1`. Please make sure to adjust
the following steps according to the release, you are actually performing.
1. Create a new branch `v0.1` if not already exists. This branch will never
again be merged into master.
2. Checkout the `v0.1 branch.
2. Checkout the `v0.1` branch.
3. Update all references to Theodolite Docker images to tag `v0-1-1`. These are
3. Update all references to Theodolite Docker images to tag `v0.1.1`. These are
mainly the Kubernetes resource definitions in `execution` as well as the Docker
Compose files in `docker-test`.
......
......@@ -167,7 +167,7 @@ The `./theodolite.py` is the entrypoint for all benchmark executions. Is has to
* `<commit-interval>`: Kafka Streams' commit interval in milliseconds. Optional. Default `100`.
* `<duration>`: Duration in minutes subexperiments should be executed for. Optional. Default `5`.
* `<domain-restriction>`: The domain restriction: `domain-restriction` to use domain restriction `no-domain-restriction` to not use domain restriction. Default `no-domain-restriction`. For more details see Section _Domain Restriction_.
* `<search-strategy>`: The benchmarking search strategy. Can be set to `check_all`, `linear-search` or `binary-search`. Default `default`. For more details see Section _Benchmarking Search Strategies_.
* `<search-strategy>`: The benchmarking search strategy. Can be set to `check-all`, `linear-search` or `binary-search`. Default `check-all`. For more details see Section _Benchmarking Search Strategies_.
### Domain Restriction
For dimension value, we have a domain of the amounts of instances. As a consequence, for each dimension value the maximum number of lag experiments is equal to the size of the domain. How the domain is determined is defined by the following domain restriction strategies.
......@@ -180,7 +180,7 @@ For dimension value, we have a domain of the amounts of instances. As a conseque
### Benchmarking Search Strategies
There are the following benchmarking strategies:
* `check_all`: For each dimension value, execute one lag experiment for all amounts of instances within the current domain.
* `check-all`: For each dimension value, execute one lag experiment for all amounts of instances within the current domain.
* `linear-search`: A heuristic which works as follows: For each dimension value, execute one lag experiment for all number of instances within the current domain. The execution order is from the lowest number of instances to the highest amount of instances and the execution for each dimension value is stopped, when a suitable amount of instances is found or if all lag experiments for the dimension value were not successful.
* `binary-search`: A heuristic which works as follows: For each dimension value, execute one lag experiment for all number of instances within the current domain. The execution order is in a binary-search-like manner. The execution is stopped, when a suitable amount of instances is found or if all lag experiments for the dimension value were not successful.
{
"test_step_strategy.py": true
}
\ No newline at end of file
.cache
\ No newline at end of file
......@@ -70,7 +70,7 @@ if domain_restriction:
search_strategy=binary_search_strategy,
subexperiment_executor=subexperiment_executor,
subexperiment_evaluator=subexperiment_evaluator)
# domain restriction + check_all
# domain restriction + check-all
else:
print(f"Going to execute {len(dim_values)*len(replicas)} subexperiments in total..")
experiment_config = ExperimentConfig(
......@@ -122,7 +122,7 @@ else:
search_strategy=binary_search_strategy,
subexperiment_executor=subexperiment_executor,
subexperiment_evaluator=subexperiment_evaluator)
# no domain restriction + check_all
# no domain restriction + check-all
else:
print(f"Going to execute {len(dim_values)*len(replicas)} subexperiments in total..")
experiment_config = ExperimentConfig(
......
......@@ -32,7 +32,7 @@ cleanup.qualify_static_member_accesses_with_declaring_class=true
cleanup.qualify_static_method_accesses_with_declaring_class=false
cleanup.remove_private_constructors=true
cleanup.remove_redundant_modifiers=false
cleanup.remove_redundant_semicolons=false
cleanup.remove_redundant_semicolons=true
cleanup.remove_redundant_type_arguments=true
cleanup.remove_trailing_whitespaces=true
cleanup.remove_trailing_whitespaces_all=true
......
......@@ -17,8 +17,6 @@ import org.apache.kafka.streams.kstream.Suppressed.BufferConfig;
import org.apache.kafka.streams.kstream.TimeWindows;
import org.apache.kafka.streams.kstream.Windowed;
import org.apache.kafka.streams.kstream.WindowedSerdes;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import titan.ccp.common.kafka.avro.SchemaRegistryAvroSerdeFactory;
import titan.ccp.configuration.events.Event;
import titan.ccp.configuration.events.EventSerde;
......@@ -38,7 +36,7 @@ public class TopologyBuilder {
private final Duration emitPeriod;
private final Duration gracePeriod;
// SERDEs
// Serdes
private final SchemaRegistryAvroSerdeFactory srAvroSerdeFactory;
private final StreamsBuilder builder = new StreamsBuilder();
......
allprojects {
repositories {
maven {
url 'https://packages.confluent.io/maven/'
}
}
}
dependencies {
compile('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT')
}
mainClassName = "theodolite.uc3.application.HistoryService"
allprojects {
repositories {
maven {
url 'https://packages.confluent.io/maven/'
}
}
}
dependencies {
compile('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT')
}
mainClassName = "theodolite.uc4.application.HistoryService"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment