Skip to content

Commit 9d8b0bd

Browse files
committed
add doc
Signed-off-by: see-quick <[email protected]>
1 parent 7bd849f commit 9d8b0bd

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

.github/docs/README.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,4 +144,26 @@ Every generated `GITHUB_TOKEN` has only read access to the repo/org without acce
144144
## Testing workflows and actions
145145
Unit and integration tests invoked via [actions-tests.yml](../workflows/actions-tests.yml) workflow.
146146
It uses files specified within [tests](../tests) folder and via [act](https://github.com/nektos/act) it tries to execute the actions and check the outputs.
147-
Currently, we tests `check-permissions`, `generate-matrix`, and `parse-comment` actions.
147+
Currently, we tests `check-permissions`, `generate-matrix`, and `parse-comment` actions.
148+
149+
### Performance Report Tests
150+
The performance report generation workflow has test scenarios defined in [tests/scenarios/perf-report.yaml](../tests/scenarios/perf-report.yaml).
151+
These tests validate the performance report generation for different operator configurations.
152+
153+
> [!IMPORTANT]
154+
> The test input directories in `.github/tests/inputs/perf-report/` must match the parser type constants defined in `systemtest/src/main/java/io/strimzi/systemtest/performance/PerformanceConstants.java`.
155+
156+
When adding a new operator or component parser type to `PerformanceConstants.java`:
157+
1. Add the corresponding constant (e.g., `NEW_OPERATOR_PARSER = "new-operator"`)
158+
2. Create matching test input directories in `.github/tests/inputs/perf-report/` with subdirectories named after the parser type (e.g., `new-operator/`)
159+
3. Update test scenarios in `.github/tests/scenarios/perf-report.yaml` to include the new operator in test cases
160+
4. Generate corresponding expected output files in `.github/tests/expected/perf-report/`
161+
162+
Example directory structure for operators:
163+
```
164+
.github/tests/inputs/perf-report/
165+
└── single-arch-both-operators/
166+
└── 2025-11-18-10-30-00/
167+
├── topic-operator/ # matches PerformanceConstants.TOPIC_OPERATOR_PARSER = "topic-operator"
168+
└── user-operator/ # matches PerformanceConstants.USER_OPERATOR_PARSER = "user-operator"
169+
```

development-docs/TESTING.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -544,6 +544,11 @@ Evaluates user operator performance with different configurations, including:
544544

545545
What is worth mentioning is that these capacity tests take on average **23 minutes** for the Topic Operator and **5 hours 22 minutes** for the User Operator, depending on your HW specs.
546546

547+
> [!IMPORTANT]
548+
> When modifying performance attributes in test code (e.g., changing the `performanceAttributes` map in `TopicOperatorPerformance.java`, TopicOperatorScalabilityPerformance` and other performance test suites), you must also update the corresponding GitHub Actions (GHA) tests.
549+
550+
See the [Performance Report Tests section in .github/docs/README.md](../.github/docs/README.md#performance-report-tests) for details on maintaining test input directories and expected outputs that match the constants defined in `PerformanceConstants.java`.
551+
547552
#### 2. Scalability Tests
548553

549554
Scalability tests assess how well Strimzi scales as the workload increases and help identify potential bottlenecks in the system.

0 commit comments

Comments
 (0)