Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Revert "Revert "Merge branch 'release'""

This reverts commit 67b8bb8f18f854f45a2f5ec52cc9c8a25981e2f2.

This restores the merge attempt from earlier.

    • -3
    • +4
    ./LowMemoryDaemonExpirationStrategy.java
  1. … 66 more files in changeset.
Revert "Merge branch 'release'"

This reverts commit c7fdc455dcb9a8016af0ae9bc8b4c43fde1e2d06, reversing

changes made to 9f70d52b74dbc8c71381781b6c155474031b3cf8.

The changes need a wrapper as there are API changes. Reverting for now.

    • -4
    • +3
    ./LowMemoryDaemonExpirationStrategy.java
  1. … 66 more files in changeset.
Reduce the amount of logging that is periodically emitted by an idle daemon

    • -3
    • +4
    ./LowMemoryDaemonExpirationStrategy.java
  1. … 3 more files in changeset.
Apply `Anonymous type can be replaced with lambda` inspection the whole project

    • -7
    • +1
    ./gc/DefaultGarbageCollectionMonitor.java
    • -22
    • +3
    ./gc/GarbageCollectorMonitoringStrategy.java
  1. … 664 more files in changeset.
Apply `Explicit type can be replaced with <>` inspection the whole project

    • -2
    • +2
    ./gc/DefaultGarbageCollectionMonitor.java
  1. … 908 more files in changeset.
Simplify launcher project structure

    • -0
    • +45
    ./GcThrashingDaemonExpirationStrategy.java
    • -0
    • +46
    ./LowHeapSpaceDaemonExpirationStrategy.java
    • -0
    • +87
    ./LowMemoryDaemonExpirationStrategy.java
    • -0
    • +45
    ./LowNonHeapDaemonExpirationStrategy.java
    • -0
    • +80
    ./gc/DefaultGarbageCollectionMonitor.java
  1. … 561 more files in changeset.
Simplify launcher project structure

    • -0
    • +45
    ./GcThrashingDaemonExpirationStrategy.java
    • -0
    • +46
    ./LowHeapSpaceDaemonExpirationStrategy.java
    • -0
    • +87
    ./LowMemoryDaemonExpirationStrategy.java
    • -0
    • +45
    ./LowNonHeapDaemonExpirationStrategy.java
    • -0
    • +80
    ./gc/DefaultGarbageCollectionMonitor.java
  1. … 561 more files in changeset.
Simplify launcher project structure

    • -0
    • +45
    ./GcThrashingDaemonExpirationStrategy.java
    • -0
    • +46
    ./LowHeapSpaceDaemonExpirationStrategy.java
    • -0
    • +87
    ./LowMemoryDaemonExpirationStrategy.java
    • -0
    • +45
    ./LowNonHeapDaemonExpirationStrategy.java
    • -0
    • +80
    ./gc/DefaultGarbageCollectionMonitor.java
  1. … 559 more files in changeset.
Simplify launcher project structure

    • -0
    • +41
    ./DaemonHealthCheck.java
    • -0
    • +124
    ./DaemonHealthStats.java
    • -0
    • +108
    ./DaemonMemoryStatus.java
    • -0
    • +45
    ./GcThrashingDaemonExpirationStrategy.java
    • -0
    • +41
    ./HealthExpirationStrategy.java
    • -0
    • +46
    ./LowHeapSpaceDaemonExpirationStrategy.java
    • -0
    • +87
    ./LowMemoryDaemonExpirationStrategy.java
    • -0
    • +45
    ./LowNonHeapDaemonExpirationStrategy.java
    • -0
    • +80
    ./gc/DefaultGarbageCollectionMonitor.java
    • -0
    • +64
    ./gc/DefaultSlidingWindow.java
    • -0
    • +65
    ./gc/GarbageCollectionCheck.java
    • -0
    • +43
    ./gc/GarbageCollectionEvent.java
    • -0
    • +36
    ./gc/GarbageCollectionInfo.java
    • -0
    • +29
    ./gc/GarbageCollectionMonitor.java
  1. … 544 more files in changeset.
Simplify launcher project structure

    • -0
    • +45
    ./GcThrashingDaemonExpirationStrategy.java
    • -0
    • +46
    ./LowHeapSpaceDaemonExpirationStrategy.java
    • -0
    • +87
    ./LowMemoryDaemonExpirationStrategy.java
    • -0
    • +45
    ./LowNonHeapDaemonExpirationStrategy.java
    • -0
    • +80
    ./gc/DefaultGarbageCollectionMonitor.java
  1. … 561 more files in changeset.
Simplify launcher project structure

    • -0
    • +45
    ./GcThrashingDaemonExpirationStrategy.java
    • -0
    • +46
    ./LowHeapSpaceDaemonExpirationStrategy.java
    • -0
    • +87
    ./LowMemoryDaemonExpirationStrategy.java
    • -0
    • +45
    ./LowNonHeapDaemonExpirationStrategy.java
    • -0
    • +80
    ./gc/DefaultGarbageCollectionMonitor.java
  1. … 561 more files in changeset.
Split :launcher into :launcher, :launcherBootstrap and :launcherStartup

in order to isolate Java 6 stuff

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -45
    • +0
    ./GcThrashingDaemonExpirationStrategy.java
    • -46
    • +0
    ./LowHeapSpaceDaemonExpirationStrategy.java
    • -86
    • +0
    ./LowMemoryDaemonExpirationStrategy.java
    • -45
    • +0
    ./LowNonHeapDaemonExpirationStrategy.java
    • -80
    • +0
    ./gc/DefaultGarbageCollectionMonitor.java
  1. … 530 more files in changeset.
Split :launcher into :launcher, :launcherBootstrap and :launcherStartup

in order to isolate Java 6 stuff

Let split launcher projects code be shipped in a fat jar

for backwards compatibility

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -45
    • +0
    ./GcThrashingDaemonExpirationStrategy.java
    • -46
    • +0
    ./LowHeapSpaceDaemonExpirationStrategy.java
    • -86
    • +0
    ./LowMemoryDaemonExpirationStrategy.java
    • -45
    • +0
    ./LowNonHeapDaemonExpirationStrategy.java
    • -80
    • +0
    ./gc/DefaultGarbageCollectionMonitor.java
  1. … 534 more files in changeset.
Split :launcher into :launcher, :launcherBootstrap and :launcherStartup

in order to isolate Java 6 stuff

Let split launcher projects code be shipped in a fat jar

for backwards compatibility

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -45
    • +0
    ./GcThrashingDaemonExpirationStrategy.java
    • -46
    • +0
    ./LowHeapSpaceDaemonExpirationStrategy.java
    • -86
    • +0
    ./LowMemoryDaemonExpirationStrategy.java
    • -45
    • +0
    ./LowNonHeapDaemonExpirationStrategy.java
    • -80
    • +0
    ./gc/DefaultGarbageCollectionMonitor.java
  1. … 534 more files in changeset.
Introduce test that simulates GC activity

    • -0
    • +80
    ./gc/DefaultGarbageCollectionMonitor.java
    • -46
    • +10
    ./gc/GarbageCollectionMonitor.java
  1. … 4 more files in changeset.
Add integration test that fails if Gradle does not understand the JVM's GC settings

    • -0
    • +47
    ./gc/GarbageCollectorMonitoringStrategy.java
  1. … 2 more files in changeset.
Rework daemon GC/memory expiration checks

- Do not sniff for VM vendor to figure out which GC strategies may be used

- Rename permgen -> non-heap in most places, Java 8+ uses metaspace for this memory pool

- Rename tenured -> heap

- Only add GarbageCollectionEvents to the observation window when there's been a GC collection

- This simplifies the calculation of GC rate

- Non-heap memory pools are not GC'd

- Re-enable daemon performance soak test

    • -0
    • +46
    ./LowHeapSpaceDaemonExpirationStrategy.java
    • -0
    • +45
    ./LowNonHeapDaemonExpirationStrategy.java
    • -45
    • +0
    ./LowPermGenDaemonExpirationStrategy.java
    • -46
    • +0
    ./LowTenuredSpaceDaemonExpirationStrategy.java
    • -23
    • +30
    ./gc/GarbageCollectionCheck.java
    • -70
    • +23
    ./gc/GarbageCollectionMonitor.java
    • -86
    • +68
    ./gc/GarbageCollectionStats.java
    • -22
    • +22
    ./gc/GarbageCollectorMonitoringStrategy.java
  1. … 12 more files in changeset.
Ignore expire daemon message during output comparison in tests

    • -1
    • +2
    ./LowTenuredSpaceDaemonExpirationStrategy.java
  1. … 1 more file in changeset.
Simplify executor relationships

  1. … 46 more files in changeset.
Use `ListenerManager.getBroadcaster()` in preference to `createAnonymousBroadcaster()`.

  1. … 2 more files in changeset.
Single ExecutorFactory.createScheduled() method

We only need fixed-size single-threaded scheduled executors.

Use such executors for build daemon gc health checks, expiration checks

and memory sampling.

gradle/performance#298

  1. … 7 more files in changeset.
Fix daemon health stats thread pool parameters (size & keep-alive)

It was using the wrong `ExecutorFactory` method, effectively passing a

keep-alive value as the pool size, creating a pool of size 1,

incidentally what is expected. After the change the pool will have a

core size of 1 and use a keep-alive of twice the periodic garbage

collection check interval.

Do not wait on memory status event on daemon startup

We only need Runtime.getRuntime().maxMemory() in DaemonHealthStats

  1. … 2 more files in changeset.
Refine memory sampling event publishing

Merge MemoryStatusBroadcaster into MemoryManager

Broadcast start/stop is now isolated in MemoryManager

DaemonHealthStats wait for one JVM memory event

Strengthen tests around health logging

Services depend on ExecutorFactory to use ScheduledExecutorServices

And stop them properly

  1. … 13 more files in changeset.
Refine memory sampling event publishing

Move MemoryStatusBroadcaster startup to DefaultGradleLauncherFactory

Add support for ScheduledExecutors to ExecutorFactory

& Stoppable & honoring ExecutorPolicy

Move global scheduled executor creation to GlobalScopeServices

Don’t use anonymous broadcasters

DaemonHealthStats now consume memory sampling events

  1. … 20 more files in changeset.
Split JVM/OS memory events and add coverage

    • -9
    • +10
    ./LowMemoryDaemonExpirationStrategy.java
  1. … 15 more files in changeset.
MemoryInfo is now a service and properly use dependency injection

  1. … 10 more files in changeset.
Move process memory related code into :core

    • -2
    • +2
    ./LowMemoryDaemonExpirationStrategy.java
    • -38
    • +0
    ./memory/DefaultMemoryResourceManager.java
    • -53
    • +0
    ./memory/MBeanAttributeProvider.java
    • -132
    • +0
    ./memory/MeminfoAvailableMemory.java
    • -25
    • +0
    ./memory/MemoryResourceManager.java
    • -60
    • +0
    ./memory/MemoryStatusBroadcaster.java
    • -125
    • +0
    ./memory/VmstatAvailableMemory.java
  1. … 26 more files in changeset.
Add MemoryResourceManager to allow build to listen to memory events

    • -0
    • +38
    ./memory/DefaultMemoryResourceManager.java
    • -0
    • +25
    ./memory/MemoryResourceManager.java
  1. … 4 more files in changeset.
Initial implementation of an event-based memory broadcaster

    • -14
    • +37
    ./LowMemoryDaemonExpirationStrategy.java
    • -0
    • +27
    ./memory/MemoryStatus.java
    • -0
    • +60
    ./memory/MemoryStatusBroadcaster.java
    • -0
    • +21
    ./memory/MemoryStatusListener.java
    • -0
    • +56
    ./memory/MemoryStatusSnapshot.java
  1. … 6 more files in changeset.