class DBAL extends AbstractStorage

Class DBAL Storage implementation using Doctrine DBAL.

This way, MySQL and other databases are supported. The used SQL is kept very simple so the queries should work with most of the DBAL supported databases.

A MySQL example of the expected table: CREATE TABLE phpprom ( key varchar(255) NOT NULL, value double NOT NULL, PRIMARY KEY (key) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Methods

__construct(Connection $connection, string $table = 'phpprom')

DBAL constructor.

addAvailableMetric(string $metric, string $label, string $help, string $type, string $defaultValue)

Adds a metric to the available ones.

array
getAvailableMetrics()

Gets all available metrics in an array.

void
storeMeasurement(string $metric, string $key, float $value)

Stores a measurement.

void
incrementMeasurement(string $metric, string $key)

Increments a measurement, starting with 1 if it doesn't exist yet.

array
getMeasurements(string $metric, array $keys, string $defaultValue = 'Nan')

Gets all measurements.

Details

at line line 119
__construct(Connection $connection, string $table = 'phpprom')

DBAL constructor.

Parameters

Connection $connection the DBAL connection
string $table the table to use

in AbstractStorage at line line 48
addAvailableMetric(string $metric, string $label, string $help, string $type, string $defaultValue)

Adds a metric to the available ones.

Parameters

string $metric the metric itself as delivered by Prometheus
string $label the name of the one Prometheus label to categorize the values
string $help a helping text for the metric
string $type the Prometheus type of the metric
string $defaultValue the default value which the metric gets if there is no value stored

in AbstractStorage at line line 64
array getAvailableMetrics()

Gets all available metrics in an array.

Return Value

array the available metrics

at line line 130
void storeMeasurement(string $metric, string $key, float $value)

Stores a measurement.

Parameters

string $metric the name of the metric
string $key the key
float $value the value

Return Value

void

at line line 144
void incrementMeasurement(string $metric, string $key)

Increments a measurement, starting with 1 if it doesn't exist yet.

Parameters

string $metric the name of the metric
string $key the key

Return Value

void

at line line 162
array getMeasurements(string $metric, array $keys, string $defaultValue = 'Nan')

Gets all measurements.

Parameters

string $metric the name of the metric
array $keys the keys to retrieve
string $defaultValue the default value a key gets if there is no value for it in the storage

Return Value

array the map with the keys and values