AdaptiveLoadBalancingRouter and more refactoring of metrics, see #2547
* Refactoring of standard metrics extractors and data structures * Removed optional value in Metric, simplified a lot * Configuration of EWMA by using half-life duration * Renamed DataStream to EWMA * Incorporate review feedback * Use binarySearch for selecting weighted routees * More metrics selectors for the router * Removed network metrics, since not supported on linux * Configuration of router * Rename to AdaptiveLoadBalancingRouter * Remove total cores metrics, since it's the same as jmx getAvailableProcessors, tested on intel 24 core server and amd 48 core server, and MBP * API cleanup * Java API additions * Documentation of metrics and AdaptiveLoadBalancingRouter * New cluster sample to illustrate metrics in the documentation, and play around with (factorial)
This commit is contained in:
parent
c9d206764a
commit
dcde7d3594
61 changed files with 1885 additions and 975 deletions
|
|
@ -8,8 +8,7 @@ import akka.testkit.AkkaSpec
|
|||
import akka.actor.Address
|
||||
|
||||
@org.junit.runner.RunWith(classOf[org.scalatest.junit.JUnitRunner])
|
||||
class NodeMetricsSpec extends AkkaSpec with MetricSpec
|
||||
with MetricsCollectorFactory {
|
||||
class NodeMetricsSpec extends AkkaSpec with MetricsCollectorFactory {
|
||||
|
||||
val collector = createMetricsCollector
|
||||
|
||||
|
|
@ -27,11 +26,11 @@ class NodeMetricsSpec extends AkkaSpec with MetricSpec
|
|||
}
|
||||
|
||||
"return correct result for 2 'same' nodes" in {
|
||||
(NodeMetrics(node1, 0) same NodeMetrics(node1, 0)) must be(true)
|
||||
(NodeMetrics(node1, 0) sameAs NodeMetrics(node1, 0)) must be(true)
|
||||
}
|
||||
|
||||
"return correct result for 2 not 'same' nodes" in {
|
||||
(NodeMetrics(node1, 0) same NodeMetrics(node2, 0)) must be(false)
|
||||
(NodeMetrics(node1, 0) sameAs NodeMetrics(node2, 0)) must be(false)
|
||||
}
|
||||
|
||||
"merge 2 NodeMetrics by most recent" in {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue