From c6c5758281365aa4888afe4faa3e504483433553 Mon Sep 17 00:00:00 2001 From: Bethany Martin Date: Mon, 16 Nov 2020 17:01:00 -0400 Subject: [PATCH 1/2] Prevent errors being thrown when calling registerGauge or registerCounter --- src/Prometheus/CollectorRegistry.php | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/Prometheus/CollectorRegistry.php b/src/Prometheus/CollectorRegistry.php index 541e1d8..aa7e524 100644 --- a/src/Prometheus/CollectorRegistry.php +++ b/src/Prometheus/CollectorRegistry.php @@ -112,13 +112,12 @@ public function getGauge($namespace, $name): Gauge * @throws MetricsRegistrationException */ public function getOrRegisterGauge($namespace, $name, $help, $labels = []): Gauge - { - try { - $gauge = $this->getGauge($namespace, $name); - } catch (MetricNotFoundException $e) { - $gauge = $this->registerGauge($namespace, $name, $help, $labels); + { + $metricIdentifier = self::metricIdentifier($namespace, $name); + if (!isset($this->gauges[$metricIdentifier])) { + return $this->registerGauge($namespace, $name, $help, $labels); } - return $gauge; + return $this->gauges[$metricIdentifier]; } /** @@ -170,12 +169,11 @@ public function getCounter($namespace, $name): Counter */ public function getOrRegisterCounter($namespace, $name, $help, $labels = []): Counter { - try { - $counter = $this->getCounter($namespace, $name); - } catch (MetricNotFoundException $e) { - $counter = $this->registerCounter($namespace, $name, $help, $labels); + $metricIdentifier = self::metricIdentifier($namespace, $name); + if (!isset($this->counters[$metricIdentifier])) { + return $this->registerCounter($namespace, $name, $help, $labels); } - return $counter; + return $this->counters[$metricIdentifier]; } /** From 6aafd9ad8ea6177f40be623ad8bd350d9cca2d3d Mon Sep 17 00:00:00 2001 From: Bethany Martin Date: Mon, 16 Nov 2020 22:19:28 -0400 Subject: [PATCH 2/2] Remove whitespace --- src/Prometheus/CollectorRegistry.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Prometheus/CollectorRegistry.php b/src/Prometheus/CollectorRegistry.php index aa7e524..95f782c 100644 --- a/src/Prometheus/CollectorRegistry.php +++ b/src/Prometheus/CollectorRegistry.php @@ -112,7 +112,7 @@ public function getGauge($namespace, $name): Gauge * @throws MetricsRegistrationException */ public function getOrRegisterGauge($namespace, $name, $help, $labels = []): Gauge - { + { $metricIdentifier = self::metricIdentifier($namespace, $name); if (!isset($this->gauges[$metricIdentifier])) { return $this->registerGauge($namespace, $name, $help, $labels);