for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Krenor\Prometheus\Metrics;
use Krenor\Prometheus\Contracts\Types\Settable;
use Krenor\Prometheus\Contracts\Types\Decrementable;
use Krenor\Prometheus\Contracts\Types\Incrementable;
use Krenor\Prometheus\Metrics\Concerns\TracksExecutionTime;
abstract class Gauge extends Metric implements Incrementable, Decrementable, Settable
{
use TracksExecutionTime;
/**
* {@inheritdoc}
*/
public function type(): string
return 'gauge';
}
public function increment(array $labels = []): static
return $this->incrementBy(1, $labels);
public function incrementBy(float $value, array $labels = []): static
static::$storage->increment($this, $value, $labels);
return $this;
public function decrement(array $labels = []): static
return $this->decrementBy(1, $labels);
public function decrementBy(float $value, array $labels = []): static
static::$storage->decrement($this, $value, $labels);
public function set(float $value, array $labels = []): static
static::$storage->set($this, $value, $labels);
protected function track(float $value, array $labels = []): void
$this->set($value, $labels);