Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions docs/docs/dev-manuals/architecture/component-diagram.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,11 @@ Explanation:
- **solid line**: asynchronous communication (dapr pub/sub)

<CustomImage path="/renderedDiagrams/componentInteraction" width="1330" height="730" />

---

## Component Diagram of the MiSArch Experiment Tool

For the MiSArch Experiment Tool, the component diagram is as follows:

<CustomImage path="/diagrams/compDiagDocker" width="1910" height="1365" />
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
sidebar_position: 3
---

> Note that this page is still viable, but the MiSArch Experiment Tool has way more functionality by now and can be used instead.

import CustomImage from "@site/src/components/CustomImage";

# Experiment configuration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ The repository is structured as follows:
<div className="repository-structure">

- `/src/`: The source code
- `components/`: [Single-File Components](https://vuejs.org/glossary/#single-file-component) that can be reused -- this is basically an internal UI components library.
- `model/`: Data models used in the frontend.
- `types/`: TypeScript types.
- `util/`: Utility source code.
- `components/`: [Single-File Components](https://vuejs.org/glossary/#single-file-component) that can be reused -- this is basically an internal UI components library.
- `model/`: Data models used in the frontend.
- `types/`: TypeScript types.
- `util/`: Utility source code.

</div>

Expand Down
52 changes: 51 additions & 1 deletion docs/docs/dev-manuals/other-repositories/experiment-executor.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,57 @@ The following steps describe the workflow that is executed when an experiment is

### Synchronization & Registration

TODO mermaid
```mermaid
sequenceDiagram
participant EE as Experiment Executor
participant MEC as MiSArch Experiment Config
participant CTE as Chaos Toolkit Executor
participant GE as Gatling Executor
participant GR as Grafana

EE->>MEC: Reset All Configurations
EE->>EE: Register MiSArch Experiment Config as Ready
EE->>CTE: Send Failure Injection Configuration
CTE->>CTE: Load Failure Configuration and Prepare Execution
EE->>GE: Send Load Test Configuration
GE->>GE: Load Load Test Configuration and Prepare Execution

loop Poll Experiment Trigger
EE->>EE: Check Trigger Condition
end

CTE->>EE: Register Chaos Toolkit as Ready
loop Poll Experiment Trigger
CTE->>EE: Check Trigger Condition
end


GE->>EE: Register Gatling as Ready
loop Poll Experiment Trigger
GE->>EE: Check Trigger Condition
end

EE->>CTE: Start Chaos Toolkit Execution
EE->>GE: Start Load Execution
EE->>EE: Start MiSArch Experiment Execution

loop Configure Failure
EE->>MEC: Apply Failure Configuration
end

loop Configure Failure
CTE->>CTE: Apply Failure Configuration
end


loop Execute Workload
GE->>GE: Execute Workload against SuT
end

GE->>EE: Load Test Metrics
EE->>EE: Aggregate and Store Results
EE->>GR: Forward Result Dashboard
```

- Endpoints Provided:
1. Register component as ready.
Expand Down
9 changes: 5 additions & 4 deletions docs/docs/dev-manuals/other-repositories/gatling-executor.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,13 @@ The Gatling Executor exposes the following REST API endpoints to manage and exec
<div className="repository-structure" >

- `/gatling-server/src`: Source code of the web server Spring Boot component
- `controller/`: Package that includes the REST controller
- `service/`: Package for all service classes containing the actual business logic

- `controller/`: Package that includes the REST controller
- `service/`: Package for all service classes containing the actual business logic

- `/gatling-test/src`: Source code of the Gatling load testing component
- `kotlin`: Kotlin source files that are compiled on experiment start by Gradle, which will be extend by the dynamic Kotlin files received from the API
- `resources`: Template files for reference
- `kotlin`: Kotlin source files that are compiled on experiment start by Gradle, which will be extend by the dynamic Kotlin files received from the API
- `resources`: Template files for reference

</div>

Expand Down
Loading