Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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.

  1. … 65 more files in changeset.
Reduce the amount of logging that is periodically emitted by an idle daemon

  1. … 2 more files in changeset.
Apply `Inner class may be 'static'` inspection the whole project

  1. … 41 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 901 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 901 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 889 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 896 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 901 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 901 more files in changeset.
Make Linux /proc/meminfo parser thread safe

Upgrade to new version of native-platform.

  1. … 13 more files in changeset.
Make totalMemory and freeMemory consistent

We were using different data sources for total and free physical

memory on Linux and MacOS, which lead us to detect memory pressure

were there was in fact none, e.g. when running in containers with

resource limits.

We now get both total and available memory from the same OS specific

data source.

    • -0
    • +35
    ./memory/MBeanOsMemoryInfo.java
    • -0
    • +154
    ./memory/MemInfoOsMemoryInfo.java
    • -132
    • +0
    ./memory/MeminfoAvailableMemory.java
    • -0
    • +39
    ./memory/NativeOsMemoryInfo.java
    • -36
    • +0
    ./memory/NativeOsxAvailableMemory.java
    • -27
    • +0
    ./memory/TotalPhysicalMemoryProvider.java
  1. … 9 more files in changeset.
Copy under lock, iterate out of lock

Fix `ConcurrentModificationException`

This commit adds guards around `holder` to make sure the list is not modified concurrently.

This fixes #2452, which was seen under heavy load.

  1. … 1 more file in changeset.
Replace usages of org.gradle.api.Nullable

With javax.annotation.Nullable.

  1. … 460 more files in changeset.
Simplify executor relationships

  1. … 46 more files in changeset.
Delay memory info until first interval has passed

Fix NativeOsxAvailableMemory error handling

This fixes ApplyPluginIntegSpec that generates ProjectBuilder based

tests which in turn doesn’t have native integrations enabled.

    • -0
    • +3
    ./memory/NativeOsxAvailableMemory.java
Sample macOS system memory using native-platform instead of vm_stat

See #1270

    • -0
    • +33
    ./memory/NativeOsxAvailableMemory.java
    • -126
    • +0
    ./memory/VmstatAvailableMemory.java
  1. … 7 more files in changeset.
Changed a couple more projects to use `java-library` plugin. Also inject Groovy as a test compile dependency for all projects, and removed the declaration from various project's build files.

  1. … 34 more files in changeset.
Make Os/JvmMemoryInfo only provide snapshots

    • -0
    • +27
    ./memory/TotalPhysicalMemoryProvider.java
  1. … 3 more files in changeset.
Use an approximation for memory usage when it hasn't been reported

  1. … 6 more files in changeset.
Cleanup of memory interfaces

Removing unnecessary throws

Remove now unused MaximumHeapHelper

  1. … 1 more file in changeset.
Less frequently used idle worker daemons memory based expiration

Less frequently used idle worker daemons are expired when available system memory gets below a threshold.

Expiration strategy is triggered both by memory sampling and when the build daemon is about to fork a new process, or a new worker daemon. It will attempt to free enough system memory to fit the new process below the threshold according to it's fork options.

This implementation does an approximation on the amount of memory held by worker daemons, using their max heap setting instead of their committed memory. This will be fixed in subsequent changes.

    • -0
    • +84
    ./memory/MaximumHeapHelper.java
    • -0
    • +130
    ./memory/MemoryAmount.java
    • -0
    • +33
    ./memory/MemoryHolder.java
  1. … 20 more files in changeset.
Move min free memory threshold declaration into DefaultMemoryManager

So we use the same in both the build daemon and worker processes

and don’t repeat it in two places.

  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.
First stab at worker processes providing jvm memory information

    • -0
    • +47
    ./memory/DefaultJvmMemoryInfo.java
    • -0
    • +61
    ./memory/DefaultOsMemoryInfo.java
    • -0
    • +34
    ./memory/DisabledOsMemoryInfo.java
    • -0
    • +25
    ./memory/JvmMemoryInfo.java
    • -0
    • +25
    ./memory/OsMemoryInfo.java
  1. … 26 more files in changeset.
Do not log failure to collect memory status at warn level