Skip to content
This repository was archived by the owner on Oct 22, 2019. It is now read-only.

Commit 1d8c990

Browse files
authored
Merge pull request #40 from 1player/redis-prefix
Let users change Redis key prefix
2 parents 0378829 + 5bd48e8 commit 1d8c990

1 file changed

Lines changed: 13 additions & 8 deletions

File tree

src/Prometheus/Storage/Redis.php

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111

1212
class 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

Comments
 (0)