From 8ec35643c7dd327f2a23bf623a058119e484be39 Mon Sep 17 00:00:00 2001 From: elonj Date: Wed, 6 Jul 2022 16:06:38 -0400 Subject: [PATCH 1/3] if non found, metrics should register and retrun created Signed-off-by: elonj --- plugins/catalog-backend/src/util/metrics.ts | 38 ++++++++++++++++----- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/plugins/catalog-backend/src/util/metrics.ts b/plugins/catalog-backend/src/util/metrics.ts index 4988af82ea..8edc721914 100644 --- a/plugins/catalog-backend/src/util/metrics.ts +++ b/plugins/catalog-backend/src/util/metrics.ts @@ -29,27 +29,49 @@ import { export function createCounterMetric( config: CounterConfiguration, ): Counter { - const existing = register.getSingleMetric(config.name) as Counter; - return existing || new Counter(config); + let metric = register.getSingleMetric(config.name); + if (!metric) { + const newMetric = new Counter(config); + register.registerMetric(newMetric); + metric = register.getSingleMetric(config.name); + } + return metric as Counter; } export function createGaugeMetric( config: GaugeConfiguration, ): Gauge { - const existing = register.getSingleMetric(config.name) as Gauge; - return existing || new Gauge(config); + let metric = register.getSingleMetric(config.name); + if (!metric) { + const newMetric = new Gauge(config); + register.registerMetric(newMetric); + metric = register.getSingleMetric(config.name); + } + return metric as Gauge; } export function createSummaryMetric( config: SummaryConfiguration, ): Summary { - const existing = register.getSingleMetric(config.name) as Summary; - return existing || new Summary(config); + let metric = register.getSingleMetric(config.name); + if (!metric) { + const newMetric = new Summary(config); + register.registerMetric(newMetric); + metric = register.getSingleMetric(config.name); + } + + return metric as Summary; } export function createHistogramMetric( config: HistogramConfiguration, ): Histogram { - const existing = register.getSingleMetric(config.name) as Histogram; - return existing || new Histogram(config); + let metric = register.getSingleMetric(config.name); + if (!metric) { + const newMetric = new Histogram(config); + register.registerMetric(newMetric); + metric = register.getSingleMetric(config.name); + } + + return metric as Histogram; } From 8eca9492504d515b8e428a5db3874292859f4b99 Mon Sep 17 00:00:00 2001 From: elonj Date: Thu, 7 Jul 2022 15:09:51 -0400 Subject: [PATCH 2/3] clean up Signed-off-by: elonj --- plugins/catalog-backend/src/util/metrics.ts | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/plugins/catalog-backend/src/util/metrics.ts b/plugins/catalog-backend/src/util/metrics.ts index 8edc721914..207135f234 100644 --- a/plugins/catalog-backend/src/util/metrics.ts +++ b/plugins/catalog-backend/src/util/metrics.ts @@ -31,9 +31,8 @@ export function createCounterMetric( ): Counter { let metric = register.getSingleMetric(config.name); if (!metric) { - const newMetric = new Counter(config); - register.registerMetric(newMetric); - metric = register.getSingleMetric(config.name); + metric = new Counter(config); + register.registerMetric(metric); } return metric as Counter; } @@ -43,9 +42,8 @@ export function createGaugeMetric( ): Gauge { let metric = register.getSingleMetric(config.name); if (!metric) { - const newMetric = new Gauge(config); - register.registerMetric(newMetric); - metric = register.getSingleMetric(config.name); + metric = new Gauge(config); + register.registerMetric(metric); } return metric as Gauge; } @@ -55,9 +53,8 @@ export function createSummaryMetric( ): Summary { let metric = register.getSingleMetric(config.name); if (!metric) { - const newMetric = new Summary(config); - register.registerMetric(newMetric); - metric = register.getSingleMetric(config.name); + metric = new Summary(config); + register.registerMetric(metric); } return metric as Summary; @@ -68,9 +65,8 @@ export function createHistogramMetric( ): Histogram { let metric = register.getSingleMetric(config.name); if (!metric) { - const newMetric = new Histogram(config); - register.registerMetric(newMetric); - metric = register.getSingleMetric(config.name); + metric = new Histogram(config); + register.registerMetric(metric); } return metric as Histogram; From 1e02fe46d65c0b0c075cc9af3857945419bf96cd Mon Sep 17 00:00:00 2001 From: elonj Date: Mon, 11 Jul 2022 09:18:28 -0400 Subject: [PATCH 3/3] added changeset Signed-off-by: elonj --- .changeset/brave-badgers-pump.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/brave-badgers-pump.md diff --git a/.changeset/brave-badgers-pump.md b/.changeset/brave-badgers-pump.md new file mode 100644 index 0000000000..18dea30990 --- /dev/null +++ b/.changeset/brave-badgers-pump.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend': patch +--- + +Fixed bug where catalog metrics weren't being tracked.