From 19f0f9350480b471160d7cb77be630e831332dca Mon Sep 17 00:00:00 2001 From: goenning Date: Fri, 7 Jan 2022 10:25:42 +0000 Subject: [PATCH 1/3] log errors when tech insights throws an error Signed-off-by: goenning --- .changeset/great-points-design.md | 5 ++++ .../src/service/fact/FactRetrieverEngine.ts | 28 +++++++++++++------ 2 files changed, 24 insertions(+), 9 deletions(-) create mode 100644 .changeset/great-points-design.md diff --git a/.changeset/great-points-design.md b/.changeset/great-points-design.md new file mode 100644 index 0000000000..cdc24c8f81 --- /dev/null +++ b/.changeset/great-points-design.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-tech-insights-backend': patch +--- + +log errors on tech insights fact retriever diff --git a/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.ts b/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.ts index 11fd0d29b8..17eeab2a61 100644 --- a/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.ts +++ b/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.ts @@ -16,6 +16,7 @@ import { FactRetriever, FactRetrieverContext, + TechInsightFact, TechInsightsStore, } from '@backstage/plugin-tech-insights-node'; import { FactRetrieverRegistry } from './FactRetrieverRegistry'; @@ -108,15 +109,24 @@ export class FactRetrieverEngine { this.logger.info( `Retrieving facts for fact retriever ${factRetriever.id}`, ); - const facts = await factRetriever.handler({ - ...this.factRetrieverContext, - entityFilter: factRetriever.entityFilter, - }); - if (this.logger.isDebugEnabled()) { - this.logger.debug( - `Retrieved ${facts.length} facts for fact retriever ${ - factRetriever.id - } in ${duration(startTimestamp)}`, + + let facts: TechInsightFact[] = []; + try { + facts = await factRetriever.handler({ + ...this.factRetrieverContext, + entityFilter: factRetriever.entityFilter, + }); + if (this.logger.isDebugEnabled()) { + this.logger.debug( + `Retrieved ${facts.length} facts for fact retriever ${ + factRetriever.id + } in ${duration(startTimestamp)}`, + ); + } + } catch (e) { + this.logger.error( + `Failed to retrieve facts for retriever ${factRetriever.id}`, + e, ); } From 97dc62c83a6b1d7a4cc4d2f6301ba9d7315a9d1a Mon Sep 17 00:00:00 2001 From: goenning Date: Fri, 7 Jan 2022 10:29:34 +0000 Subject: [PATCH 2/3] log errors when tech insights throws an error Signed-off-by: goenning --- .changeset/great-points-design.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/great-points-design.md b/.changeset/great-points-design.md index cdc24c8f81..7ce22b1bac 100644 --- a/.changeset/great-points-design.md +++ b/.changeset/great-points-design.md @@ -2,4 +2,4 @@ '@backstage/plugin-tech-insights-backend': patch --- -log errors on tech insights fact retriever +Catch errors from a fact retriever and log them. From 811fb9cf9ca1c31ff8a3cad89ae965ea62314191 Mon Sep 17 00:00:00 2001 From: goenning Date: Tue, 11 Jan 2022 09:55:04 +0000 Subject: [PATCH 3/3] remove this.logger.isDebugEnabled call Signed-off-by: goenning --- .../src/service/fact/FactRetrieverEngine.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.ts b/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.ts index 17eeab2a61..4e9d4c41b2 100644 --- a/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.ts +++ b/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.ts @@ -116,13 +116,11 @@ export class FactRetrieverEngine { ...this.factRetrieverContext, entityFilter: factRetriever.entityFilter, }); - if (this.logger.isDebugEnabled()) { - this.logger.debug( - `Retrieved ${facts.length} facts for fact retriever ${ - factRetriever.id - } in ${duration(startTimestamp)}`, - ); - } + this.logger.debug( + `Retrieved ${facts.length} facts for fact retriever ${ + factRetriever.id + } in ${duration(startTimestamp)}`, + ); } catch (e) { this.logger.error( `Failed to retrieve facts for retriever ${factRetriever.id}`,