You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: book/src/libs/wasp/components/generator.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,18 +20,19 @@ A **Generator** is a component that encapsulates all the characteristics of load
20
20
#### **`Gun`**
21
21
* Best for **stateless protocols** (e.g., HTTP).
22
22
* Simplistic in nature; ideal for executing a single operation that does not require setup or teardown.
23
-
* Operates using a**closed model**, where:
23
+
* Operates using an**open model**, where:
24
24
* The number of requests is fixed.
25
25
* The load adjusts to meet the target RPS, regardless of the system's response time.
26
+
* There's no feedback from the system.
26
27
* Recommended for scenarios focused on measuring **throughput**.
27
28
28
29
#### **`VirtualUser`**
29
30
* Designed for **stateful protocols** (e.g., `WebSocket`) or workflows involving multiple operations (e.g., authenticating, executing tasks, and logging out).
30
31
* More complex, with dedicated methods for setup and teardown.
31
-
* Operates using an**open model**, where:
32
+
* Operates using a**closed model**, where:
32
33
* New iterations start only after the previous one completes.
33
34
* The RPS fluctuates based on the system's response time. Longer response times reduce RPS.
34
-
35
+
* Feedback from the system is used to adjust the load.
Copy file name to clipboardExpand all lines: book/src/libs/wasp/components/profile.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,9 @@
3
3
A **Profile** allows you to combine load from different generators. Each generator operates according to its own schedule, and you can even mix RPS and VU load types, as shown in [this example](https://github.com/smartcontractkit/chainlink-testing-framework/blob/main/wasp/examples/profiles/node_mixed_test.go).
4
4
5
5
> [!NOTE]
6
-
> The `error` returned by the `.Run(true)` function of a `Profile` only indicates if any dashboard alerts were triggered.
6
+
> The `error` returned by the `.Run(true)` function of a `Profile` might indicate the following:
7
+
> * load generator did not start and instead returned an error
8
+
> * or **if**`Profile` was created with `WithGrafana` option that enabled `CheckDashboardAlertsAfterRun` that at some alerts fired.
7
9
> To check for errors during load generation, you need to call the `Errors()` method on each `Generator` within the `Profile`.
Copy file name to clipboardExpand all lines: book/src/libs/wasp/profile_test.md
+7-3Lines changed: 7 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -95,11 +95,15 @@ You can find the full example [here](https://github.com/smartcontractkit/chainli
95
95
---
96
96
97
97
> [!NOTE]
98
-
> The `error` returned by the `.Run(true)` method only indicates if any dashboard alerts were triggered.
99
-
> To check for load generation errors, call the `Errors()` method on each `Generator` in the `Profile`.
98
+
> The `error` returned by the `.Run(true)` function of a `Profile` might indicate the following:
99
+
> * load generator did not start and instead returned an error
100
+
> * or **if**`Profile` was created with `WithGrafana` option that enabled `CheckDashboardAlertsAfterRun` that at some alerts fired.
101
+
> To check for errors during load generation, you need to call the `Errors()` method on each `Generator` within the `Profile`.
100
102
101
103
> [!NOTE]
102
-
> Currently, it’s not possible to have a "waiting" schedule that doesn’t generate any load. To implement such logic, start one `Profile` in a goroutine and use `time.Sleep` before starting the second `Profile`. An example of this can be found [here](https://github.com/smartcontractkit/chainlink-testing-framework/tree/main/wasp/examples/profiles/node_background_load_test.go).
104
+
> Currently, it’s not possible to have a "waiting" schedule that doesn’t generate any load.
105
+
> To implement such logic, start one `Profile` in a goroutine and use `time.Sleep` before starting the second `Profile` or start use a combination `.Run(false)` and `.Wait()` methods.
106
+
> Both examples of can be found [here](https://github.com/smartcontractkit/chainlink-testing-framework/tree/main/wasp/examples/profiles/node_background_load_test.go).
0 commit comments