1111
1212class Redis implements Adapter
1313{
14- const PROMETHEUS_PREFIX = 'PROMETHEUS_ ' ;
1514 const PROMETHEUS_METRIC_KEYS_SUFFIX = '_METRIC_KEYS ' ;
1615
1716 private static $ defaultOptions = array ();
17+ private static $ prefix = 'PROMETHEUS_ ' ;
1818
1919 private $ options ;
2020 private $ redis ;
@@ -51,6 +51,11 @@ public static function setDefaultOptions(array $options)
5151 self ::$ defaultOptions = array_merge (self ::$ defaultOptions , $ options );
5252 }
5353
54+ public static function setPrefix ($ prefix )
55+ {
56+ self ::$ prefix = $ prefix ;
57+ }
58+
5459 public function flushRedis ()
5560 {
5661 $ this ->openConnection ();
@@ -118,7 +123,7 @@ public function updateHistogram(array $data)
118123 $ this ->toMetricKey ($ data ),
119124 json_encode (array ('b ' => 'sum ' , 'labelValues ' => $ data ['labelValues ' ])),
120125 json_encode (array ('b ' => $ bucketToIncrease , 'labelValues ' => $ data ['labelValues ' ])),
121- self ::PROMETHEUS_PREFIX . Histogram::TYPE . self ::PROMETHEUS_METRIC_KEYS_SUFFIX ,
126+ self ::$ prefix . Histogram::TYPE . self ::PROMETHEUS_METRIC_KEYS_SUFFIX ,
122127 $ data ['value ' ],
123128 json_encode ($ metaData ),
124129 ),
@@ -152,7 +157,7 @@ public function updateGauge(array $data)
152157 array (
153158 $ this ->toMetricKey ($ data ),
154159 $ this ->getRedisCommand ($ data ['command ' ]),
155- self ::PROMETHEUS_PREFIX . Gauge::TYPE . self ::PROMETHEUS_METRIC_KEYS_SUFFIX ,
160+ self ::$ prefix . Gauge::TYPE . self ::PROMETHEUS_METRIC_KEYS_SUFFIX ,
156161 json_encode ($ data ['labelValues ' ]),
157162 $ data ['value ' ],
158163 json_encode ($ metaData ),
@@ -180,7 +185,7 @@ public function updateCounter(array $data)
180185 array (
181186 $ this ->toMetricKey ($ data ),
182187 $ this ->getRedisCommand ($ data ['command ' ]),
183- self ::PROMETHEUS_PREFIX . Counter::TYPE . self ::PROMETHEUS_METRIC_KEYS_SUFFIX ,
188+ self ::$ prefix . Counter::TYPE . self ::PROMETHEUS_METRIC_KEYS_SUFFIX ,
184189 json_encode ($ data ['labelValues ' ]),
185190 $ data ['value ' ],
186191 json_encode ($ metaData ),
@@ -192,7 +197,7 @@ public function updateCounter(array $data)
192197
193198 private function collectHistograms ()
194199 {
195- $ keys = $ this ->redis ->sMembers (self ::PROMETHEUS_PREFIX . Histogram::TYPE . self ::PROMETHEUS_METRIC_KEYS_SUFFIX );
200+ $ keys = $ this ->redis ->sMembers (self ::$ prefix . Histogram::TYPE . self ::PROMETHEUS_METRIC_KEYS_SUFFIX );
196201 sort ($ keys );
197202 $ histograms = array ();
198203 foreach ($ keys as $ key ) {
@@ -266,7 +271,7 @@ private function collectHistograms()
266271
267272 private function collectGauges ()
268273 {
269- $ keys = $ this ->redis ->sMembers (self ::PROMETHEUS_PREFIX . Gauge::TYPE . self ::PROMETHEUS_METRIC_KEYS_SUFFIX );
274+ $ keys = $ this ->redis ->sMembers (self ::$ prefix . Gauge::TYPE . self ::PROMETHEUS_METRIC_KEYS_SUFFIX );
270275 sort ($ keys );
271276 $ gauges = array ();
272277 foreach ($ keys as $ key ) {
@@ -292,7 +297,7 @@ private function collectGauges()
292297
293298 private function collectCounters ()
294299 {
295- $ keys = $ this ->redis ->sMembers (self ::PROMETHEUS_PREFIX . Counter::TYPE . self ::PROMETHEUS_METRIC_KEYS_SUFFIX );
300+ $ keys = $ this ->redis ->sMembers (self ::$ prefix . Counter::TYPE . self ::PROMETHEUS_METRIC_KEYS_SUFFIX );
296301 sort ($ keys );
297302 $ counters = array ();
298303 foreach ($ keys as $ key ) {
@@ -336,7 +341,7 @@ private function getRedisCommand($cmd)
336341 */
337342 private function toMetricKey (array $ data )
338343 {
339- return implode (': ' , array (self ::PROMETHEUS_PREFIX , $ data ['type ' ], $ data ['name ' ]));
344+ return implode (': ' , array (self ::$ prefix , $ data ['type ' ], $ data ['name ' ]));
340345 }
341346
342347}
0 commit comments