PHP code example of manticoresoftware / openmetrics
1. Go to this page and download the library: Download manticoresoftware/openmetrics library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
manticoresoftware / openmetrics example snippets
declare(strict_types=1);
namespace YourVendor\YourProject;
use OpenMetrics\Exposition\Text\Collections\CounterCollection;
use OpenMetrics\Exposition\Text\Collections\LabelCollection;
use OpenMetrics\Exposition\Text\Types\MetricName;
use OpenMetrics\Exposition\Text\Types\Label;
use OpenMetrics\Exposition\Text\Metrics\Counter;
$counters = CounterCollection::fromCounters(
MetricName::fromString('your_metric_name'),
Counter::fromValue(1),
Counter::fromValueAndTimestamp(2, time()),
Counter::fromValue(3)->withLabels(
Label::fromNameAndValue('label1', 'label_value')
),
Counter::fromValueAndTimestamp(4, time())->withLabels(
Label::fromNameAndValue('label2', 'label_value')
)
)->withHelp('A helpful description of your measurement.');
# Add counters after creating the collection
$counters->add(
Counter::fromValue(5),
Counter::fromValueAndTimestamp(6, time()),
Counter::fromValue(7)->withLabels(
# Create labels from label string
Label::fromLabelString('label3="label_value"')
)
);
# Prepare labels upfront
$labels = LabelCollection::fromAssocArray(
[
'label4' => 'label_value',
'label5' => 'label_value',
]
);
$counters->add(
Counter::fromValueAndTimestamp(8, time())->withLabelCollection($labels)
);
var_dump($counters->getMetricLines());
declare(strict_types=1);
namespace YourVendor\YourProject;
use OpenMetrics\Exposition\Text\Collections\GaugeCollection;
use OpenMetrics\Exposition\Text\Collections\LabelCollection;
use OpenMetrics\Exposition\Text\Types\MetricName;
use OpenMetrics\Exposition\Text\Types\Label;
use OpenMetrics\Exposition\Text\Metrics\Gauge;
$gauges = GaugeCollection::fromGauges(
MetricName::fromString('your_metric_name'),
Gauge::fromValue(12.3),
Gauge::fromValueAndTimestamp(-45.6, time()),
Gauge::fromValue(78.9)->withLabels(
Label::fromNameAndValue('label1', 'label_value')
),
Gauge::fromValueAndTimestamp(0.12, time())->withLabels(
Label::fromNameAndValue('label2', 'label_value')
)
)->withHelp('A helpful description of your measurement.');
$gauges->add(
Gauge::fromValue(3.45),
Gauge::fromValueAndTimestamp(67.8, time()),
Gauge::fromValue(90.1)->withLabels(
Label::fromLabelString('label3="label_value"')
)
);
$labels = LabelCollection::fromAssocArray(
[
'label4' => 'label_value',
'label5' => 'label_value'
]
);
$gauges->add(
Gauge::fromValueAndTimestamp(23.4, time())->withLabelCollection($labels)
);
var_dump($gauges->getMetricLines());
declare(strict_types=1);
namespace YourVendor\YourProject;
use OpenMetrics\Exposition\Text\Collections\GaugeCollection;
use OpenMetrics\Exposition\Text\Metrics\Gauge;
use OpenMetrics\Exposition\Text\Metrics\Histogram;
use OpenMetrics\Exposition\Text\Types\MetricName;
$values = [12.3, 45.6, 78.9, 0.12, 34.5];
$gauges = GaugeCollection::withMetricName( MetricName::fromString( 'your_metric_name' ) );
foreach ( $values as $value )
{
$gauges->add( Gauge::fromValue( $value ) );
}
# Create the histogram out of the gauge collection and suffix the metric name with "_histogram"
$histogram = Histogram::fromGaugeCollectionWithBounds( $gauges, [0.13, 30, 46, 78.9, 90], '_histogram' )
->withHelp( 'Explanation of the histogram' );
var_dump($historgram->getMetricLines());
declare(strict_types=1);
namespace YourVendor\YourProject;
use OpenMetrics\Exposition\Text\Collections\GaugeCollection;
use OpenMetrics\Exposition\Text\Metrics\Gauge;
use OpenMetrics\Exposition\Text\Metrics\Summary;
use OpenMetrics\Exposition\Text\Types\MetricName;
$values = [1.0, 1.2, 2.0, 2.5, 2.9, 3.1, 4.0, 4.4, 5.0, 9.9];
$gauges = GaugeCollection::withMetricName( MetricName::fromString( 'your_metric_name' ) );
foreach ( $values as $value )
{
$gauges->add( Gauge::fromValue( $value ) );
}
# Create the summary out of the gauge collection and suffix the metric name with "_summary"
$summary = Summary::fromGaugeCollectionWithQuantiles( $gauges, [0.3, 0.5, 0.75, 0.9], '_summary' )
->withHelp( 'Explanation of the summary' );
var_dump($summary->getMetricLines());
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.