From 8c2859ad032f58715bb88cdb4aa4865cdfaf0e53 Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Tue, 18 Jun 2013 15:07:26 +0200 Subject: [PATCH] Make akka.cluster.MetricsCollector public, see #3452 --- akka-cluster/src/main/resources/reference.conf | 2 +- .../scala/akka/cluster/ClusterMetricsCollector.scala | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/akka-cluster/src/main/resources/reference.conf b/akka-cluster/src/main/resources/reference.conf index 8557dbf6cc..960d3d50fa 100644 --- a/akka-cluster/src/main/resources/reference.conf +++ b/akka-cluster/src/main/resources/reference.conf @@ -154,7 +154,7 @@ akka { enabled = on # FQCN of the metrics collector implementation. - # It must implement akka.cluster.cluster.MetricsCollector and + # It must implement akka.cluster.MetricsCollector and # have public constructor with akka.actor.ActorSystem parameter. # The default SigarMetricsCollector uses JMX and Hyperic SIGAR, if SIGAR # is on the classpath, otherwise only JMX. diff --git a/akka-cluster/src/main/scala/akka/cluster/ClusterMetricsCollector.scala b/akka-cluster/src/main/scala/akka/cluster/ClusterMetricsCollector.scala index ad988460b5..2546470be4 100644 --- a/akka-cluster/src/main/scala/akka/cluster/ClusterMetricsCollector.scala +++ b/akka-cluster/src/main/scala/akka/cluster/ClusterMetricsCollector.scala @@ -129,7 +129,7 @@ private[cluster] class ClusterMetricsCollector(publisher: ActorRef) extends Acto * @see [[akka.cluster.ClusterMetricsCollector.collect( )]] */ def collect(): Unit = { - latestGossip :+= collector.sample + latestGossip :+= collector.sample() publish() } @@ -575,13 +575,15 @@ private[cluster] trait MetricNumericConverter { } /** - * INTERNAL API + * Implementations of cluster system metrics extends this trait. */ -private[cluster] trait MetricsCollector extends Closeable { +trait MetricsCollector extends Closeable { /** * Samples and collects new data points. + * This method is invoked periodically and should return + * current metrics for this node. */ - def sample: NodeMetrics + def sample(): NodeMetrics } /** @@ -612,7 +614,7 @@ class JmxMetricsCollector(address: Address, decayFactor: Double) extends Metrics * Samples and collects new data points. * Creates a new instance each time. */ - def sample: NodeMetrics = NodeMetrics(address, newTimestamp, metrics) + def sample(): NodeMetrics = NodeMetrics(address, newTimestamp, metrics) def metrics: Set[Metric] = { val heap = heapMemoryUsage