classDiagram direction LR
class Fault{
<<Interface>>
+List~int~ percentages
}
class AbortFault{
+int statusCode
}
class DelayFault{
+int duration
}
note for ResilientService "represents a k8s service"
class ResilientService{
+String name
+LabelSelector label
}
class ServiceUnderTest{
+ResilientService service
+Map~String, String~ patternConfig
+Fault faultConfig
}
class Workload{
+List~int~ users
+int duration
+String locustConfig
}
class Scenario {
+String name
+List~ServiceUnderTest~
}
class Benchmark{
+int rounds
+List~Scenario~ scenarios
+Workload workload
}
Fault <|-- AbortFault
Fault <|-- DelayFault
ServiceUnderTest o-- Fault : 1..N
ServiceUnderTest o-- ResilientService : 1..N
Scenario o-- ServiceUnderTest : 1..N
Benchmark o-- Workload : 1..N
Benchmark o-- Scenario : 1..N