public function __construct(LibratoConfig $libratoConfig, AsyncStats $asyncStats, ImagickTaskQueue $imagickTaskQueue, Librato $librato) { $this->asyncStats = $asyncStats; $this->flushInterval = 10; $this->sourceName = $libratoConfig->getStatsSourceName(); $this->imagickTaskQueue = $imagickTaskQueue; $this->librato = $librato; }
/** * @param $gauges Gauge[] * @param $counters Counter[] */ function send($gauges, $counters) { $client = new ArtaxClient(); $client->setAllOptions([ArtaxClient::OP_MS_CONNECT_TIMEOUT => 2000, ArtaxClient::OP_MS_TRANSFER_TIMEOUT => 3000]); $request = new Request(); $request->setUri("https://metrics-api.librato.com/v1/metrics"); $request->setProtocol('1.1'); $request->setMethod('POST'); $request->setHeader("Content-Type", "application/json"); $auth = base64_encode($this->libratoConfig->getLibratoUsername() . ':' . $this->libratoConfig->getLibratoKey()); $request->setHeader("Authorization", "Basic {$auth}"); $data = []; //working //"{"gauges":[{"name":"Queue.ImagickTaskQueue","value":0,"source":"test.phpimagick.com"}]}" if (count($gauges)) { $gaugeEntries = []; foreach ($gauges as $gauge) { $arrayed = $gauge->convertToArray(); $gaugeEntries = array_merge($gaugeEntries, $arrayed); } $data["gauges"] = $gaugeEntries; } if (count($counters)) { $counterEntries = []; foreach ($counters as $counter) { $arrayed = $counter->convertToArray(); if (is_array($arrayed) == true) { $counterEntries = array_merge($counterEntries, $arrayed); } else { $counterEntries[] = $arrayed; } } $data["counters"] = $counterEntries; } $body = json_encode($data); $request->setBody($body); var_dump($body); try { $promise = $client->request($request); /** @var $response \Amp\Artax\Response */ $response = \Amp\wait($promise); echo "Status " . $response->getStatus() . "\n"; echo $response->getBody(); } catch (SocketException $se) { echo "Artax\\SocketExeption" . $se->getMessage(); } }
function createLibrato(Config $config) { return \ImagickDemo\Config\Librato::make($config->getKey(Config::LIBRATO_KEY), $config->getKey(Config::LIBRATO_USERNAME), $config->getKey(Config::LIBRATO_STATSSOURCENAME)); }
public function __construct(RedisClient $redisClient, LibratoConfig $libratoConfig) { $this->redisClient = $redisClient; $this->redisKey = self::getClassKey(); $this->sourceName = $libratoConfig->getStatsSourceName(); }
public function createLibrato() { return \ImagickDemo\Config\Librato::make(self::getEnv(self::LIBRATO_KEY), self::getEnv(self::LIBRATO_USERNAME), self::getEnv(self::LIBRATO_STATSSOURCENAME)); }
/** * @param \Auryn\Injector $injector * @param LibratoConfig $libratoConfig */ function __construct(\Auryn\Injector $injector, LibratoConfig $libratoConfig) { $this->injector = $injector; $this->flushInterval = 10; $this->sourceName = $libratoConfig->getStatsSourceName(); }