-
Benedikt Wetzel authoredBenedikt Wetzel authored
- API Reference
- theodolite.com/v1
- benchmark
- benchmark.spec
- benchmark.spec.appResourceSets[index]
- benchmark.spec.appResourceSets[index].configMap
- benchmark.spec.appResourceSets[index].fileSystem
- benchmark.spec.kafkaConfig
- benchmark.spec.kafkaConfig.topics[index]
- benchmark.spec.loadGenResourceSets[index]
- benchmark.spec.loadGenResourceSets[index].configMap
- benchmark.spec.loadGenResourceSets[index].fileSystem
- benchmark.spec.loadTypes[index]
- benchmark.spec.loadTypes[index].patchers[index]
- benchmark.spec.resourceTypes[index]
- benchmark.spec.resourceTypes[index].patchers[index]
- execution
- execution.status
- execution.spec
- execution.spec.configOverrides[index]
- execution.spec.configOverrides[index].patcher
- execution.spec.execution
- execution.spec.load
- execution.spec.resources
- execution.spec.slos[index]
crd-docu.md 21.36 KiB
API Reference
Packages:
theodolite.com/v1
Resource Types:
benchmark
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string | theodolite.com/v1 | true |
kind | string | benchmark | true |
metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
spec | object |
|
true |
benchmark.spec
Name | Type | Description | Required |
---|---|---|---|
name | string |
This field exists only for technical reasons and should not be set by the user. The value of the field will be overwritten. |
false |
appResourceSets | []object |
|
true |
kafkaConfig | object |
Contains the Kafka configuration. |
true |
loadGenResourceSets | []object |
|
true |
loadTypes | []object |
A list of load types that can be scaled for this benchmark. For each load type the concrete values are defined in the execution object. |
true |
resourceTypes | []object |
A list of resource types that can be scaled for this `benchmark` resource. For each resource type the concrete values are defined in the `execution` object. |
true |
benchmark.spec.appResourceSets[index]
Name | Type | Description | Required |
---|---|---|---|
configMap | object |
|
false |
fileSystem | object |
|
false |
benchmark.spec.appResourceSets[index].configMap
Name | Type | Description | Required |
---|---|---|---|
files | []string |
|
false |
name | string |
|
false |
benchmark.spec.appResourceSets[index].fileSystem
Name | Type | Description | Required |
---|---|---|---|
files | []string |
|
false |
path | string |
|
false |
benchmark.spec.kafkaConfig
Contains the Kafka configuration.
Name | Type | Description | Required |
---|---|---|---|
bootstrapServer | string |
The bootstrap servers connection string. |
true |
topics | []object |
List of topics to be created for each experiment. Alternative theodolite offers the possibility to remove certain topics after each experiment. |
true |
benchmark.spec.kafkaConfig.topics[index]
Name | Type | Description | Required |
---|---|---|---|
numPartitions | integer |
The number of partitions of the topic. Default: 0 |
false |
removeOnly | boolean |
Determines if this topic should only be deleted after each experiement. For removeOnly topics the name can be a RegEx describing the topic. Default: false |
false |
replicationFactor | integer |
The replication factor of the topic. Default: 0 |
false |
name | string |
The name of the topic. Default: |
true |
benchmark.spec.loadGenResourceSets[index]
Name | Type | Description | Required |
---|---|---|---|
configMap | object |
|
false |
fileSystem | object |
|
false |
benchmark.spec.loadGenResourceSets[index].configMap
Name | Type | Description | Required |
---|---|---|---|
files | []string |
|
false |
name | string |
|
false |
benchmark.spec.loadGenResourceSets[index].fileSystem
Name | Type | Description | Required |
---|---|---|---|
files | []string |
|
false |
path | string |
|
false |
benchmark.spec.loadTypes[index]
Name | Type | Description | Required |
---|---|---|---|
patchers | []object |
List of patchers used to scale this resource type. |
true |
typeName | string |
Name of the load type. |
true |
benchmark.spec.loadTypes[index].patchers[index]
Name | Type | Description | Required |
---|---|---|---|
properties | map[string]string |
(Optional) Patcher specific additional arguments. Default: map[] |
false |
resource | string |
Specifies the Kubernetes resource to be patched. Default: |
true |
type | string |
Type of the Patcher. Default: |
true |
benchmark.spec.resourceTypes[index]
Name | Type | Description | Required |
---|---|---|---|
patchers | []object |
List of patchers used to scale this resource type. |
true |
typeName | string |
Name of the resource type. |
true |
benchmark.spec.resourceTypes[index].patchers[index]
Name | Type | Description | Required |
---|---|---|---|
properties | map[string]string |
(Optional) Patcher specific additional arguments. Default: map[] |
false |
resource | string |
Specifies the Kubernetes resource to be patched. Default: |
true |
type | string |
Type of the patcher. Default: |
true |
execution
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string | theodolite.com/v1 | true |
kind | string | execution | true |
metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
status | object |
|
false |
spec | object |
|
true |
execution.status
Name | Type | Description | Required |
---|---|---|---|
executionDuration | string |
Duration of the execution in seconds |
false |
executionState | string |
|
false |
execution.spec
Name | Type | Description | Required |
---|---|---|---|
name | string |
This field exists only for technical reasons and should not be set by the user. The value of the field will be overwritten. Default: |
false |
benchmark | string |
The name of the benchmark this execution is referring to. |
true |
configOverrides | []object |
List of patchers that are used to override existing configurations. |
true |
execution | object |
Defines the overall parameter for the execution. |
true |
load | object |
Specifies the load values that are benchmarked. |
true |
resources | object |
Specifies the scaling resource that is benchmarked. |
true |
slos | []object |
List of resource values for the specified resource type. |
true |
execution.spec.configOverrides[index]
Name | Type | Description | Required |
---|---|---|---|
patcher | object |
Patcher used to patch a resource |
false |
value | string |
|
false |
execution.spec.configOverrides[index].patcher
Patcher used to patch a resource
Name | Type | Description | Required |
---|---|---|---|
properties | map[string]string |
(Optional) Patcher specific additional arguments. Default: map[] |
false |
resource | string |
Specifies the Kubernetes resource to be patched. Default: |
true |
type | string |
Type of the Patcher. Default: |
true |
execution.spec.execution
Defines the overall parameter for the execution.
Name | Type | Description | Required |
---|---|---|---|
loadGenerationDelay | integer |
Seconds to wait between the start of the SUT and the load generator. |
false |
duration | integer |
Defines the duration of each experiment in seconds. |
true |
repetitions | integer |
Numper of repititions for each experiments. |
true |
restrictions | []string |
List of restriction strategys used to delimit the search space. |
true |
strategy | string |
Defines the used strategy for the execution, either 'LinearSearch' or 'BinarySearch' |
true |
execution.spec.load
Specifies the load values that are benchmarked.
Name | Type | Description | Required |
---|---|---|---|
loadType | string |
The type of the load. It must match one of the load types specified in the referenced benchmark. |
true |
loadValues | []integer |
List of load values for the specified load type. |
true |
execution.spec.resources
Specifies the scaling resource that is benchmarked.
Name | Type | Description | Required |
---|---|---|---|
resourceType | string |
The type of the resource. It must match one of the resource types specified in the referenced benchmark. |
true |
resourceValues | []integer |
|
true |
execution.spec.slos[index]
Name | Type | Description | Required |
---|---|---|---|
properties | map[string]string |
(Optional) SLO specific additional arguments. Default: map[] |
false |
offset | integer |
Hours by which the start and end timestamp will be shifted (for different timezones). |
true |
prometheusUrl | string |
Connection string for Promehteus. |
true |
sloType | string |
The type of the SLO. It must match 'lag trend'. |
true |