+ akka-cluster-metrics: new akka module

* new akka module split from akka-cluster
* provide sigar provisioning
* fix ewma usage
* resolve #16121
* see #16354
This commit is contained in:
Andrei Pozolotin 2014-12-12 11:49:32 -06:00
parent baca3644e2
commit 7b9f77a073
121 changed files with 10462 additions and 215 deletions

View file

@ -27,6 +27,22 @@ object StatsSampleSingleMasterSpecConfig extends MultiNodeConfig {
val second = role("second")
val third = role("thrid")
def nodeList = Seq(first, second, third)
// Extract individual sigar library for every node.
nodeList foreach { role
nodeConfig(role) {
ConfigFactory.parseString(s"""
# Disable legacy metrics in akka-cluster.
akka.cluster.metrics.enabled=off
# Enable metrics extension in akka-cluster-metrics.
akka.extensions=["akka.cluster.metrics.ClusterMetricsExtension"]
# Sigar native library extract location during tests.
akka.cluster.metrics.native-library-extract-folder=target/native/${role.name}
""")
}
}
// this configuration will be used for all nodes
// note that no fixed host names and ports are used
commonConfig(ConfigFactory.parseString("""
@ -34,8 +50,6 @@ object StatsSampleSingleMasterSpecConfig extends MultiNodeConfig {
akka.actor.provider = "akka.cluster.ClusterActorRefProvider"
akka.remote.log-remote-lifecycle-events = off
akka.cluster.roles = [compute]
# don't use sigar for tests, native lib not in path
akka.cluster.metrics.collector-class = akka.cluster.JmxMetricsCollector
#//#router-deploy-config
akka.actor.deployment {
/singleton/statsService/workerRouter {

View file

@ -25,14 +25,28 @@ object StatsSampleSpecConfig extends MultiNodeConfig {
val second = role("second")
val third = role("thrid")
def nodeList = Seq(first, second, third)
// Extract individual sigar library for every node.
nodeList foreach { role
nodeConfig(role) {
ConfigFactory.parseString(s"""
# Disable legacy metrics in akka-cluster.
akka.cluster.metrics.enabled=off
# Enable metrics extension in akka-cluster-metrics.
akka.extensions=["akka.cluster.metrics.ClusterMetricsExtension"]
# Sigar native library extract location during tests.
akka.cluster.metrics.native-library-extract-folder=target/native/${role.name}
""")
}
}
// this configuration will be used for all nodes
// note that no fixed host names and ports are used
commonConfig(ConfigFactory.parseString("""
akka.actor.provider = "akka.cluster.ClusterActorRefProvider"
akka.remote.log-remote-lifecycle-events = off
akka.cluster.roles = [compute]
# don't use sigar for tests, native lib not in path
akka.cluster.metrics.collector-class = akka.cluster.JmxMetricsCollector
#//#router-lookup-config
akka.actor.deployment {
/statsService/workerRouter {

View file

@ -24,13 +24,27 @@ object TransformationSampleSpecConfig extends MultiNodeConfig {
val backend2 = role("backend2")
val backend3 = role("backend3")
def nodeList = Seq(frontend1, frontend2, backend1, backend2, backend3)
// Extract individual sigar library for every node.
nodeList foreach { role
nodeConfig(role) {
ConfigFactory.parseString(s"""
# Disable legacy metrics in akka-cluster.
akka.cluster.metrics.enabled=off
# Enable metrics extension in akka-cluster-metrics.
akka.extensions=["akka.cluster.metrics.ClusterMetricsExtension"]
# Sigar native library extract location during tests.
akka.cluster.metrics.native-library-extract-folder=target/native/${role.name}
""")
}
}
// this configuration will be used for all nodes
// note that no fixed host names and ports are used
commonConfig(ConfigFactory.parseString("""
akka.actor.provider = "akka.cluster.ClusterActorRefProvider"
akka.remote.log-remote-lifecycle-events = off
# don't use sigar for tests, native lib not in path
akka.cluster.metrics.collector-class = akka.cluster.JmxMetricsCollector
"""))
nodeConfig(frontend1, frontend2)(