/** * @test */ public function itShouldIncreaseACounterWithoutNamespace() { $registry = new CollectorRegistry($this->adapter); $registry->registerCounter('', 'some_quick_counter', 'just a quick measurement')->inc(); $this->assertThat($this->renderer->render($registry->getMetricFamilySamples()), $this->equalTo(<<<EOF # HELP some_quick_counter just a quick measurement # TYPE some_quick_counter counter some_quick_counter 1 EOF )); }
/** * @param CollectorRegistry $collectorRegistry * @param $job * @param $groupingKey * @param $method */ private function doRequest(CollectorRegistry $collectorRegistry, $job, $groupingKey, $method) { $url = "http://" . $this->address . "/metrics/job/" . $job; if (!empty($groupingKey)) { foreach ($groupingKey as $label => $value) { $url .= "/" . $label . "/" . $value; } } $client = new Client(); $requestOptions = array('headers' => array('Content-Type' => RenderTextFormat::MIME_TYPE), 'connect_timeout' => 10, 'timeout' => 20); if ($method != 'delete') { $renderer = new RenderTextFormat(); $requestOptions['body'] = $renderer->render($collectorRegistry->getMetricFamilySamples()); } $response = $client->request($method, $url, $requestOptions); $statusCode = $response->getStatusCode(); if ($statusCode != 202) { $msg = "Unexpected status code " . $statusCode . " received from pushgateway " . $this->address . ": " . $response->getBody(); throw new \RuntimeException($msg); } }
<?php require __DIR__ . '/../vendor/autoload.php'; use Prometheus\CollectorRegistry; use Prometheus\RenderTextFormat; use Prometheus\Storage\Redis; $adapter = $_GET['adapter']; if ($adapter == 'redis') { Redis::setDefaultOptions(array('host' => isset($_SERVER['REDIS_HOST']) ? $_SERVER['REDIS_HOST'] : '127.0.0.1')); $adapter = new Prometheus\Storage\Redis(); } if ($adapter == 'apc') { $adapter = new Prometheus\Storage\APC(); } $registry = new CollectorRegistry($adapter); $renderer = new RenderTextFormat(); $result = $renderer->render($registry->getMetricFamilySamples()); header('Content-type: ' . RenderTextFormat::MIME_TYPE); echo $result;