diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2014-04-07 23:57:57 -0300 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2014-04-07 23:57:57 -0300 |
commit | ded044c87eeb5313ec4067dc660ea92cccb4b098 (patch) | |
tree | 8bcb2fff795ec51401b7fbee02b4dd03d7ef9f6b /kamon-statsd/src/main/scala/kamon/statsd/Statsd.scala | |
parent | 1affa4763f101a6fd16b2f24ac45fcc20c52af60 (diff) | |
download | Kamon-ded044c87eeb5313ec4067dc660ea92cccb4b098.tar.gz Kamon-ded044c87eeb5313ec4067dc660ea92cccb4b098.tar.bz2 Kamon-ded044c87eeb5313ec4067dc660ea92cccb4b098.zip |
! statsd: take advantange of the multi-measurement format
Diffstat (limited to 'kamon-statsd/src/main/scala/kamon/statsd/Statsd.scala')
-rw-r--r-- | kamon-statsd/src/main/scala/kamon/statsd/Statsd.scala | 38 |
1 files changed, 2 insertions, 36 deletions
diff --git a/kamon-statsd/src/main/scala/kamon/statsd/Statsd.scala b/kamon-statsd/src/main/scala/kamon/statsd/Statsd.scala index 167e993e..472824e9 100644 --- a/kamon-statsd/src/main/scala/kamon/statsd/Statsd.scala +++ b/kamon-statsd/src/main/scala/kamon/statsd/Statsd.scala @@ -21,7 +21,6 @@ import kamon.Kamon import kamon.metrics._ import scala.concurrent.duration._ import scala.collection.JavaConverters._ -import akka.util.ByteString import com.typesafe.config.Config import java.lang.management.ManagementFactory @@ -32,39 +31,6 @@ object StatsD extends ExtensionId[StatsDExtension] with ExtensionIdProvider { trait MetricKeyGenerator { def generateKey(groupIdentity: MetricGroupIdentity, metricIdentity: MetricIdentity): String } - - sealed trait Metric { - def key: String - def value: Double - def suffix: String - def samplingRate: Double - - /* - * Creates the stats string to send to StatsD. - * For counters, it provides something like {@code key:value|c}. - * For timing, it provides something like {@code key:millis|ms}. - * If sampling rate is less than 1, it provides something like {@code key:value|type|@rate} - */ - def toByteString(includeTrailingNewline: Boolean = true): ByteString = - if (samplingRate >= 1D) - ByteString(s"$key:$value|$suffix") - else - ByteString(s"$key:$value|$suffix|@$samplingRate") - } - - case class Counter(key: String, value: Double = 1D, samplingRate: Double = 1.0) extends Metric { - val suffix: String = "c" - } - - case class Timing(key: String, value: Double, samplingRate: Double = 1.0) extends Metric { - val suffix: String = "ms" - } - - case class Gauge(key: String, value: Double, samplingRate: Double = 1.0) extends Metric { - val suffix: String = "g" - } - - case class MetricBatch(metrics: Iterable[Metric]) } class StatsDExtension(system: ExtendedActorSystem) extends Kamon.Extension { @@ -86,9 +52,9 @@ class StatsDExtension(system: ExtendedActorSystem) extends Kamon.Extension { def buildMetricsListener(tickInterval: Long, flushInterval: Long): ActorRef = { assert(flushInterval >= tickInterval, "StatsD flush-interval needs to be equal or greater to the tick-interval") - val metricsTranslator = system.actorOf(StatsDMetricTranslator.props, "statsd-metrics-translator") + val metricsTranslator = system.actorOf(StatsDMetricsSender.props, "statsd-metrics-sender") if (flushInterval == tickInterval) { - // No need to buffer the metrics, let's go straight to the metrics translator. + // No need to buffer the metrics, let's go straight to the metrics sender. metricsTranslator } else { system.actorOf(TickMetricSnapshotBuffer.props(flushInterval.toInt.millis, metricsTranslator), "statsd-metrics-buffer") |