/**
     * @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
));
    }
Exemplo n.º 2
0
 /**
  * @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);
     }
 }
Exemplo n.º 3
0
<?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;