public function testSend() { $configuration = new Configuration(); $configuration->setHost('127.0.0.1')->setNamespace('base.name')->setPort(123456); $client = new Client($configuration); $client->addStats(array(array('namespace' => 'some.namespace', 'value' => 12, 'type' => 'ms'), array('namespace' => 'some.namespace2', 'value' => 1, 'type' => 'c'))); $messages = $client->sendStats(); $expected = array('base.name.some.namespace:12|ms', 'base.name.some.namespace2:1|c'); $this->assertSame($messages, $expected); }
/** * @return $messages */ public function sendStats() { $namespace = $this->configuration->getNamespace(); $socketUrl = sprintf('udp://' . $this->configuration->getHost()); $messages = array(); foreach ($this->stats as $key => $stat) { $msg = $namespace . '.' . $this->statToString($stat); $messages[] = $msg; if (null !== $this->logger) { $this->logger->info('Sending metrics: ' . $msg); } $socket = fsockopen($socketUrl, $this->configuration->getPort()); fwrite($socket, $msg); fclose($socket); unset($this->stats[$key]); } return $messages; }
/** * @dataProvider providerNamespace * @param mixed $namespace */ public function testSeNamespace($namespace) { $configuration = new Configuration(); $configuration->setNamespace($namespace); $this->assertSame($namespace, $configuration->getNamespace(), 'Unexpected namespace.'); }