From 09d18e7d24e9c7148cccdbec8ae7a55f29ab27af Mon Sep 17 00:00:00 2001 From: Marco Manzo Date: Wed, 1 Apr 2015 10:19:23 -0700 Subject: = statsd: creation of InetSocketAddress instances against the provided UDP host/port are not deferred until it's required for sending a metric payload. --- .../src/main/scala/kamon/statsd/StatsDMetricsSender.scala | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'kamon-statsd/src/main/scala/kamon/statsd/StatsDMetricsSender.scala') diff --git a/kamon-statsd/src/main/scala/kamon/statsd/StatsDMetricsSender.scala b/kamon-statsd/src/main/scala/kamon/statsd/StatsDMetricsSender.scala index 3241e1f3..70ff1b45 100644 --- a/kamon-statsd/src/main/scala/kamon/statsd/StatsDMetricsSender.scala +++ b/kamon-statsd/src/main/scala/kamon/statsd/StatsDMetricsSender.scala @@ -26,7 +26,7 @@ import java.util.Locale import kamon.metric.instrument.{ Counter, Histogram } -class StatsDMetricsSender(remote: InetSocketAddress, maxPacketSizeInBytes: Long, metricKeyGenerator: MetricKeyGenerator) +class StatsDMetricsSender(statsDHost: String, statsDPort: Int, maxPacketSizeInBytes: Long, metricKeyGenerator: MetricKeyGenerator) extends Actor with UdpExtensionProvider { import context.system @@ -38,6 +38,8 @@ class StatsDMetricsSender(remote: InetSocketAddress, maxPacketSizeInBytes: Long, udpExtension ! Udp.SimpleSender + def newSocketAddress = new InetSocketAddress(statsDHost, statsDPort) + def receive = { case Udp.SimpleSenderReady ⇒ context.become(ready(sender)) @@ -48,7 +50,7 @@ class StatsDMetricsSender(remote: InetSocketAddress, maxPacketSizeInBytes: Long, } def writeMetricsToRemote(tick: TickMetricSnapshot, udpSender: ActorRef): Unit = { - val packetBuilder = new MetricDataPacketBuilder(maxPacketSizeInBytes, udpSender, remote) + val packetBuilder = new MetricDataPacketBuilder(maxPacketSizeInBytes, udpSender, newSocketAddress) for ( (entity, snapshot) ← tick.metrics; @@ -80,8 +82,8 @@ class StatsDMetricsSender(remote: InetSocketAddress, maxPacketSizeInBytes: Long, } object StatsDMetricsSender { - def props(remote: InetSocketAddress, maxPacketSize: Long, metricKeyGenerator: MetricKeyGenerator): Props = - Props(new StatsDMetricsSender(remote, maxPacketSize, metricKeyGenerator)) + def props(statsDHost: String, statsDPort: Int, maxPacketSize: Long, metricKeyGenerator: MetricKeyGenerator): Props = + Props(new StatsDMetricsSender(statsDHost, statsDPort, maxPacketSize, metricKeyGenerator)) } trait UdpExtensionProvider { -- cgit v1.2.3