-
Notifications
You must be signed in to change notification settings - Fork 111
Expand file tree
/
Copy pathRegistryInterface.php
More file actions
115 lines (103 loc) · 3.64 KB
/
RegistryInterface.php
File metadata and controls
115 lines (103 loc) · 3.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
namespace Prometheus;
use Prometheus\Exception\MetricNotFoundException;
use Prometheus\Exception\MetricsRegistrationException;
interface RegistryInterface
{
/**
* @return MetricFamilySamples[]
*/
public function getMetricFamilySamples(): array;
/**
* @param string $namespace e.g. cms
* @param string $name e.g. duration_seconds
* @param string $help e.g. The duration something took in seconds.
* @param string[] $labels e.g. ['controller', 'action']
*
* @return Gauge
* @throws MetricsRegistrationException
*/
public function registerGauge(string $namespace, string $name, string $help, array $labels = []): Gauge;
/**
* @param string $namespace
* @param string $name
*
* @return Gauge
* @throws MetricNotFoundException
*/
public function getGauge(string $namespace, string $name): Gauge;
/**
* @param string $namespace e.g. cms
* @param string $name e.g. duration_seconds
* @param string $help e.g. The duration something took in seconds.
* @param string[] $labels e.g. ['controller', 'action']
*
* @return Gauge
* @throws MetricsRegistrationException
*/
public function getOrRegisterGauge(string $namespace, string $name, string $help, array $labels = []): Gauge;
/**
* @param string $namespace e.g. cms
* @param string $name e.g. requests
* @param string $help e.g. The number of requests made.
* @param string[] $labels e.g. ['controller', 'action']
*
* @return Counter
* @throws MetricsRegistrationException
*/
public function registerCounter(string $namespace, string $name, string $help, array $labels = []): Counter;
/**
* @param string $namespace
* @param string $name
*
* @return Counter
* @throws MetricNotFoundException
*/
public function getCounter(string $namespace, string $name): Counter;
/**
* @param string $namespace e.g. cms
* @param string $name e.g. requests
* @param string $help e.g. The number of requests made.
* @param string[] $labels e.g. ['controller', 'action']
*
* @return Counter
* @throws MetricsRegistrationException
*/
public function getOrRegisterCounter(string $namespace, string $name, string $help, array $labels = []): Counter;
/**
* @param string $namespace e.g. cms
* @param string $name e.g. duration_seconds
* @param string $help e.g. A histogram of the duration in seconds.
* @param string[] $labels e.g. ['controller', 'action']
* @param float[] $buckets e.g. [100, 200, 300]
*
* @return Histogram
* @throws MetricsRegistrationException
*/
public function registerHistogram(
string $namespace,
string $name,
string $help,
array $labels = [],
array $buckets = null
): Histogram;
/**
* @param string $namespace
* @param string $name
*
* @return Histogram
* @throws MetricNotFoundException
*/
public function getHistogram(string $namespace, string $name): Histogram;
/**
* @param string $namespace e.g. cms
* @param string $name e.g. duration_seconds
* @param string $help e.g. A histogram of the duration in seconds.
* @param string[] $labels e.g. ['controller', 'action']
* @param float[] $buckets e.g. [100, 200, 300]
*
* @return Histogram
* @throws MetricsRegistrationException
*/
public function getOrRegisterHistogram(string $namespace, string $name, string $help, array $labels = [], array $buckets = null, ?int $timestamp = null): Histogram;
}