├── .arcconfig ├── .buildkite └── docker-compose.yml ├── .github └── workflows │ └── maven.yml ├── .gitignore ├── .travis.yml ├── LICENSE ├── METADATA ├── NOTICE ├── README.md ├── checkstyles └── uber_checks.xml ├── concurrency-loadbalancer-core ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── uber │ │ └── concurrency │ │ └── loadbalancer │ │ ├── AbstractConcurrencyLoadBalancer.java │ │ ├── ArrayConcurrencyLoadBalancer.java │ │ ├── CompletableTask.java │ │ ├── HeapConcurrencyLoadBalancer.java │ │ ├── LeastConcurrencyLoadBalancer.java │ │ ├── LoadBalancer.java │ │ ├── RoundRobinLoadBalancer.java │ │ ├── SubStrategy.java │ │ ├── internal │ │ ├── FrequencyTaskConcurrency.java │ │ ├── LatencyTaskConcurrency.java │ │ ├── TaskConcurrency.java │ │ ├── TaskConcurrencyDelegator.java │ │ └── TaskConcurrencyImpl.java │ │ ├── metrics │ │ └── Meter.java │ │ ├── timedcounter │ │ ├── LifespanTracker.java │ │ ├── ScheduledCounter.java │ │ ├── TimedCounter.java │ │ ├── WindowScheduledCounter.java │ │ └── WindowTimedCounter.java │ │ └── utils │ │ ├── HashIndexedPriorityQueue.java │ │ ├── IntervalLimiter.java │ │ ├── MathUtils.java │ │ ├── RandomBooleanGenerator.java │ │ ├── ReservoirSampler.java │ │ └── WritableTicker.java │ └── test │ └── java │ └── com │ └── uber │ └── concurrency │ └── loadbalancer │ ├── AbstractConcurrencyLoadBalancerTest.java │ ├── ArrayConcurrencyLoadBalancerTest.java │ ├── CompletableTaskTest.java │ ├── HeapConcurrencyLoadBalancerTest.java │ ├── RoundRobinLoadBalancerTest.java │ ├── metrics │ └── MeterTest.java │ ├── timedcounter │ ├── LifespanTrackerTest.java │ ├── WindowScheduledCounterTest.java │ └── WindowTimedCounterTest.java │ └── utils │ ├── HashIndexedPriorityQueueTest.java │ ├── IntervalLimiterTest.java │ └── ReservoirSamplerTest.java ├── concurrency-loadbalancer-m3 ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── uber │ │ └── concurrency │ │ └── loadbalancer │ │ └── TallyMetricsTaskListener.java │ └── test │ └── java │ └── com │ └── uber │ └── concurrency │ └── loadbalancer │ └── TallyMetricsTaskListenerTest.java ├── concurrency-loadbalancer-tracing ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── uber │ │ └── concurrency │ │ └── loadbalancer │ │ └── TracingTaskListener.java │ └── test │ └── java │ └── com │ └── uber │ └── concurrency │ └── loadbalancer │ └── TracingTaskListenerTest.java ├── pmd-ruleset.xml ├── pom.xml └── spotbugs-exclude.xml /.arcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/.arcconfig -------------------------------------------------------------------------------- /.buildkite/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/.buildkite/docker-compose.yml -------------------------------------------------------------------------------- /.github/workflows/maven.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/.github/workflows/maven.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/LICENSE -------------------------------------------------------------------------------- /METADATA: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/METADATA -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/NOTICE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/README.md -------------------------------------------------------------------------------- /checkstyles/uber_checks.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/checkstyles/uber_checks.xml -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/pom.xml -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/AbstractConcurrencyLoadBalancer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/AbstractConcurrencyLoadBalancer.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/ArrayConcurrencyLoadBalancer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/ArrayConcurrencyLoadBalancer.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/CompletableTask.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/CompletableTask.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/HeapConcurrencyLoadBalancer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/HeapConcurrencyLoadBalancer.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/LeastConcurrencyLoadBalancer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/LeastConcurrencyLoadBalancer.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/LoadBalancer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/LoadBalancer.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/RoundRobinLoadBalancer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/RoundRobinLoadBalancer.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/SubStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/SubStrategy.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/internal/FrequencyTaskConcurrency.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/internal/FrequencyTaskConcurrency.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/internal/LatencyTaskConcurrency.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/internal/LatencyTaskConcurrency.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/internal/TaskConcurrency.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/internal/TaskConcurrency.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/internal/TaskConcurrencyDelegator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/internal/TaskConcurrencyDelegator.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/internal/TaskConcurrencyImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/internal/TaskConcurrencyImpl.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/metrics/Meter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/metrics/Meter.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/timedcounter/LifespanTracker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/timedcounter/LifespanTracker.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/timedcounter/ScheduledCounter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/timedcounter/ScheduledCounter.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/timedcounter/TimedCounter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/timedcounter/TimedCounter.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/timedcounter/WindowScheduledCounter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/timedcounter/WindowScheduledCounter.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/timedcounter/WindowTimedCounter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/timedcounter/WindowTimedCounter.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/utils/HashIndexedPriorityQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/utils/HashIndexedPriorityQueue.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/utils/IntervalLimiter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/utils/IntervalLimiter.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/utils/MathUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/utils/MathUtils.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/utils/RandomBooleanGenerator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/utils/RandomBooleanGenerator.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/utils/ReservoirSampler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/utils/ReservoirSampler.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/utils/WritableTicker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/utils/WritableTicker.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/AbstractConcurrencyLoadBalancerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/AbstractConcurrencyLoadBalancerTest.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/ArrayConcurrencyLoadBalancerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/ArrayConcurrencyLoadBalancerTest.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/CompletableTaskTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/CompletableTaskTest.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/HeapConcurrencyLoadBalancerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/HeapConcurrencyLoadBalancerTest.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/RoundRobinLoadBalancerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/RoundRobinLoadBalancerTest.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/metrics/MeterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/metrics/MeterTest.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/timedcounter/LifespanTrackerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/timedcounter/LifespanTrackerTest.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/timedcounter/WindowScheduledCounterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/timedcounter/WindowScheduledCounterTest.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/timedcounter/WindowTimedCounterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/timedcounter/WindowTimedCounterTest.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/utils/HashIndexedPriorityQueueTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/utils/HashIndexedPriorityQueueTest.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/utils/IntervalLimiterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/utils/IntervalLimiterTest.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/utils/ReservoirSamplerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-core/src/test/java/com/uber/concurrency/loadbalancer/utils/ReservoirSamplerTest.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-m3/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-m3/pom.xml -------------------------------------------------------------------------------- /concurrency-loadbalancer-m3/src/main/java/com/uber/concurrency/loadbalancer/TallyMetricsTaskListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-m3/src/main/java/com/uber/concurrency/loadbalancer/TallyMetricsTaskListener.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-m3/src/test/java/com/uber/concurrency/loadbalancer/TallyMetricsTaskListenerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-m3/src/test/java/com/uber/concurrency/loadbalancer/TallyMetricsTaskListenerTest.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-tracing/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-tracing/pom.xml -------------------------------------------------------------------------------- /concurrency-loadbalancer-tracing/src/main/java/com/uber/concurrency/loadbalancer/TracingTaskListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-tracing/src/main/java/com/uber/concurrency/loadbalancer/TracingTaskListener.java -------------------------------------------------------------------------------- /concurrency-loadbalancer-tracing/src/test/java/com/uber/concurrency/loadbalancer/TracingTaskListenerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/concurrency-loadbalancer-tracing/src/test/java/com/uber/concurrency/loadbalancer/TracingTaskListenerTest.java -------------------------------------------------------------------------------- /pmd-ruleset.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/pmd-ruleset.xml -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/pom.xml -------------------------------------------------------------------------------- /spotbugs-exclude.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uber/concurrency-loadbalancer/HEAD/spotbugs-exclude.xml --------------------------------------------------------------------------------