performance

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
New performance process (#10361)

This PR introduces new performance test process. See more details in https://docs.google.com/document/u/1/d/1pghuxbCR5oYWhUrIK2e4bmABQt3NEIYOOIK4iHyjWyQ/edit#heading=h.is4fzcbmxxld

  1. … 50 more files in changeset.
Remove debug code

  1. … 1 more file in changeset.
Use defaults

Use defaults

  1. … 1 more file in changeset.
Refactor old ReportGenerator

  1. … 44 more files in changeset.
Prefer composition over inheritance in PerformanceTest hierarchy (#10262)

### Context

Previously, we had a bad `PerformanceTest` hierarchy:

- PerformanceTest

- ReportGenerationPerformanceTest

- BuildScanPerformanceTest

- DistributedPerformanceTest

- RerunDistributedPerformanceTest

This PR does a refactoring - extracts a `PerformanceTestReporter`/`DistributedPerformanceTestReporter` out of the `PerformanceTest` hierarchy, because https://github.com/gradle/gradle-private/issues/2192 wants a report, too.

The hierarchy after the refactoring:

- PerformanceTest

- DistributedPerformanceTest

- PerformanceTestReporter

So we can make things easier.

  1. … 10 more files in changeset.
Refine PR

  1. … 6 more files in changeset.
Fix @OutputDirectory

  1. … 3 more files in changeset.
Refine PR

  1. … 7 more files in changeset.
Refactor performance test hierarchy

  1. … 11 more files in changeset.
Refactor performance test hierarchy

  1. … 11 more files in changeset.
Revert "Merge pull request #9759 from gradle/eskatos/kotlin/1.3.40"

This reverts commit 2c6fb9495acea6a150ad313ed3474ebc3689b920, reversing

changes made to 8959fc43370bc5141db6f775b333f36d30cc42a1.

  1. … 26 more files in changeset.
Try latest nightly

  1. … 35 more files in changeset.
Try latest nightly

  1. … 35 more files in changeset.
Run tests on the JUnit Platform using Spock 2.0

  1. … 4 more files in changeset.
Run tests on the JUnit Platform using Spock 2.0

  1. … 5 more files in changeset.
Try increasing performance test memory

  1. … 3 more files in changeset.
Fetch flakiness data

  1. … 5 more files in changeset.
Add missing type information to `PerformanceTestPlugin`

For compatibility with Kotlin 1.3.41.

Change all subprojects to use 'implementation' dependencies

This includes:

- All projects now explicitly declare all dependencies to other

subprojects. This makes issues more visible, guards for accidental

addition of new dependencies, and leaks much less transitive

dependencies on the compile classpathes.

- All usages of 'runtime' to declare dependencies have been replaced

with 'runtimeOnly'

- All projects are now `java-library` (and declare this explicitly)

- Most remaining Groovy scripts are translated to Kotlin

- The old 'compile' and 'runtime' configurations are not

configured/created anymore for the 'testFixture' and 'integTest'

source sets.

- Some obsolete dependencies (see previous commits) are removed

- 'api' is used scarcely on purpose as the current project structure is

not well designed for this. The projects contain code for several

concerns of the build tool and thus putting complete projects on the

API of others exposes too much. They should be split up along

functional concerns first.

  1. … 112 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 286 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 283 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 286 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 284 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 285 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 285 more files in changeset.
Rerun distributed performance test in RERUNNER step (#8801)

After the improvement of automatically rerunning and tagging, we want to manage performance test in the same way:

- Only run each performance test scenario once.

- If it fails, `GRADLE_RERUNNER` will kick in and rerun the failed scenario. The good thing is that it might be scheduled to another build agent, which mitigates the effect of bad agent.

This PR does:

- Remove all `Retry` from performance tests.

- Add `GRADLE_RERUNNER` to performance tests and refactor some code.

- Add tests for `PerformanceTest`.

- Since `GRADLE_RERUNNER` depends on reading of test binary result, write binary test result file in `RerunableDistributedPerformanceTest`.

  1. … 23 more files in changeset.
Rebase to latest master

  1. … 23 more files in changeset.
Handle rerun performance test

  1. … 7 more files in changeset.
Handle rerun performance test

  1. … 7 more files in changeset.