profile
viewpoint

goenning/dotnet-outdated 45

Command line tool to check for outdated DotNet Core dependencies.

goenning/cookieless-ga 3

An example of a website using Cookieless Google Analytics

goenning/awesome-go 1

A curated list of awesome Go frameworks, libraries and software

goenning/awesome-selfhosted 1

This is a list of Free Software network services and web applications which can be hosted locally. Selfhosting is the process of locally hosting and managing applications instead of renting from SaaS providers.

goenning/azcertcache 1

Azure Blob Storage cache strategy for Go acme/autocert

goenning/djei-api 1

Periodically collects DJEI work permit processing time and provide it as an API

goenning/angular 0

One framework. Mobile & desktop.

goenning/angular-application-insights 0

Angular & Azure Application Insights module - Find out performance and usage of your app by connecting Microsoft Azure Application insights with your Angular application by @TrilonIO

goenning/AspNetCore.Docs 0

Documentation for ASP.NET Core

pull request commentbackstage/backstage

[TechInsights] log errors when tech insights throws an error

@benjdlambert can we :shipit: ?

goenning

comment created time in 9 days

push eventgoenning/backstage

dependabot[bot]

commit sha b47965beecadbc0cc753b8f32bec6856bbb92e66

build(deps): bump @date-io/luxon from 1.3.13 to 2.11.1 Bumps [@date-io/luxon](https://github.com/dmtrKovalenko/date-io) from 1.3.13 to 2.11.1. - [Release notes](https://github.com/dmtrKovalenko/date-io/releases) - [Commits](https://github.com/dmtrKovalenko/date-io/compare/v1.3.13...v2.11.1) --- updated-dependencies: - dependency-name: "@date-io/luxon" dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>

view details

Ben Lambert

commit sha 9552a6feea36577eb55201958b023deabe23b7bc

Merge pull request #8777 from backstage/dependabot/npm_and_yarn/date-io/luxon-2.11.1 build(deps): bump @date-io/luxon from 1.3.13 to 2.11.1

view details

blam

commit sha a8de66688ac208b92c6079a71d022cff23280deb

chore: actually match everything that is non-whitepace Signed-off-by: blam <ben@blam.sh>

view details

blam

commit sha 36eb73bb8b86f679d3955abaedc44a6ec744bca0

chore: backtick the packages Signed-off-by: blam <ben@blam.sh>

view details

blam

commit sha 06af8a33b3666bdce18aa7f1aaa48e89671dd9ab

chore: fixing the matching and replace with same character Signed-off-by: blam <ben@blam.sh>

view details

Ben Lambert

commit sha 4c9c45f3514afc377aa88fde037b7f79f50875de

Merge pull request #8866 from backstage/blam/fixing-dependendabot-changeset-maker Dependabot workflow backtick changeset of package name

view details

goenning

commit sha a60eb0f0dd46c35365a19ce245de1b4c344b9d5d

add checks bulk operation Signed-off-by: goenning <me@goenning.net>

view details

goenning

commit sha 60ec1a959bafc0c3612b829632394735ddd6b1b6

simplify error handling Signed-off-by: goenning <me@goenning.net>

view details

push time in 11 days

push eventgoenning/backstage

dependabot[bot]

commit sha b47965beecadbc0cc753b8f32bec6856bbb92e66

build(deps): bump @date-io/luxon from 1.3.13 to 2.11.1 Bumps [@date-io/luxon](https://github.com/dmtrKovalenko/date-io) from 1.3.13 to 2.11.1. - [Release notes](https://github.com/dmtrKovalenko/date-io/releases) - [Commits](https://github.com/dmtrKovalenko/date-io/compare/v1.3.13...v2.11.1) --- updated-dependencies: - dependency-name: "@date-io/luxon" dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>

view details

Ben Lambert

commit sha 9552a6feea36577eb55201958b023deabe23b7bc

Merge pull request #8777 from backstage/dependabot/npm_and_yarn/date-io/luxon-2.11.1 build(deps): bump @date-io/luxon from 1.3.13 to 2.11.1

view details

blam

commit sha a8de66688ac208b92c6079a71d022cff23280deb

chore: actually match everything that is non-whitepace Signed-off-by: blam <ben@blam.sh>

view details

blam

commit sha 36eb73bb8b86f679d3955abaedc44a6ec744bca0

chore: backtick the packages Signed-off-by: blam <ben@blam.sh>

view details

blam

commit sha 06af8a33b3666bdce18aa7f1aaa48e89671dd9ab

chore: fixing the matching and replace with same character Signed-off-by: blam <ben@blam.sh>

view details

Ben Lambert

commit sha 4c9c45f3514afc377aa88fde037b7f79f50875de

Merge pull request #8866 from backstage/blam/fixing-dependendabot-changeset-maker Dependabot workflow backtick changeset of package name

view details

push time in 11 days

pull request commentbackstage/backstage

Modify queries to perform better by filtering on subqueries as well

Aww, nice! We'll definitely use once it's merged! For the dupes, it could make it configurable because there'll be use cases for both as you say.

Xantier

comment created time in 11 days

pull request commentbackstage/backstage

Modify queries to perform better by filtering on subqueries as well

Not part of this PR, but just thinking out loud:

should we also have some fact purging process? something configurable to:

  • keep only up to X facts for each entity
  • remove duplicate facts

Or even when we're storing facts, if the current value is the same as the latest value, is there any benefit in storing it at all?

Xantier

comment created time in 11 days

Pull request review commentbackstage/backstage

[TechInsights] add operation to run checks for multiple entities in one operation

 export async function createRouter<         const entityTriplet = stringifyEntityRef({ namespace, kind, name });         const checkResult = await factChecker.runChecks(entityTriplet, checks);         return res.send(checkResult);-      } catch (e) {+      } catch (e: any) {+        return res.status(500).json({ message: e.message }).send();

Yeah, that simplify things!

goenning

comment created time in 11 days

PullRequestReviewEvent

Pull request review commentbackstage/backstage

[TechInsights] add operation to run checks for multiple entities in one operation

 export class JsonRulesEngineFactChecker         techInsightChecks,         Object.values(facts),       );-    } catch (e) {+    } catch (e: any) {

Good catch, done!

goenning

comment created time in 11 days

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentbackstage/backstage

[TechInsights] add operation to run checks for multiple entities in one operation

+---+'@backstage/plugin-tech-insights': minor

Done

goenning

comment created time in 11 days

push eventgoenning/backstage

goenning

commit sha 63dc00ad5928ff7fe0337ad66e2d34a074045681

simplify error handling Signed-off-by: goenning <me@goenning.net>

view details

push time in 11 days

Pull request review commentbackstage/backstage

[TechInsights] add operation to run checks for multiple entities in one operation

 export async function createRouter<         const entityTriplet = stringifyEntityRef({ namespace, kind, name });         const checkResult = await factChecker.runChecks(entityTriplet, checks);         return res.send(checkResult);-      } catch (e) {+      } catch (e: any) {+        return res.status(500).json({ message: e.message }).send();+      }+    });++    router.post('/checks/run', async (req, res) => {+      try {+        const {+          checks,+          entities,+        }: { checks: string[]; entities: EntityName[] } = req.body;+        const tasks = entities.map(async entity => {+          const entityTriplet =+            typeof entity === 'string' ? entity : stringifyEntityRef(entity);+          const results = await factChecker.runChecks(entityTriplet, checks);

nice one!

the ruleEngineResultsToCheckResponse is taking a few ms because of getLatestSchemas, maybe we can do some caching here because it's pulling from the DB the same schemas for every entity

goenning

comment created time in 11 days

PullRequestReviewEvent

Pull request review commentbackstage/backstage

[TechInsights] add operation to run checks for multiple entities in one operation

 export async function createRouter<         const entityTriplet = stringifyEntityRef({ namespace, kind, name });         const checkResult = await factChecker.runChecks(entityTriplet, checks);         return res.send(checkResult);-      } catch (e) {+      } catch (e: any) {+        return res.status(500).json({ message: e.message }).send();+      }+    });++    router.post('/checks/run', async (req, res) => {+      try {+        const {+          checks,+          entities,+        }: { checks: string[]; entities: EntityName[] } = req.body;+        const tasks = entities.map(async entity => {+          const entityTriplet =+            typeof entity === 'string' ? entity : stringifyEntityRef(entity);+          const results = await factChecker.runChecks(entityTriplet, checks);

It's taking ~3.5sec locally for 200+ entities and ~9 checks.

I did some profiling and it takes ~25ms for each entity. Creating and running for each entity doesn't seem to be an issue, pulling the checks is also fast as it's in-memory, but the functions that interact with postgres are.

subset of logs testing it locally

[1] checkRegistry.gell 0.005211ms
[1] getLatestFactsByIds 9.703607ms
[1] engine.addRule 0.339267ms
[1] engine.run 0.238962ms
[1] ruleEngineResultsToCheckResponse 15.393079ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004768ms
[1] getLatestFactsByIds 13.094279ms
[1] engine.addRule 1.882142ms
[1] engine.run 0.36793ms
[1] ruleEngineResultsToCheckResponse 14.152873ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004965ms
[1] getLatestFactsByIds 5.964665ms
[1] engine.addRule 1.510564ms
[1] engine.run 0.376815ms
[1] ruleEngineResultsToCheckResponse 14.937899ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.00492ms
[1] getLatestFactsByIds 12.443289ms
[1] engine.addRule 0.302443ms
[1] engine.run 1.571662ms
[1] ruleEngineResultsToCheckResponse 12.364491ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.009969ms
[1] getLatestFactsByIds 15.252037ms
[1] engine.addRule 0.246663ms
[1] engine.run 1.202198ms
[1] ruleEngineResultsToCheckResponse 42.411508ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.0063ms
[1] getLatestFactsByIds 15.709898ms
[1] engine.addRule 0.322992ms
[1] engine.run 3.965126ms
[1] ruleEngineResultsToCheckResponse 49.584114ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.017975ms
[1] getLatestFactsByIds 21.020665ms
[1] engine.addRule 0.980589ms
[1] engine.run 0.992464ms
[1] ruleEngineResultsToCheckResponse 49.88205ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.006457ms
[1] getLatestFactsByIds 11.078968ms
[1] engine.addRule 0.580105ms
[1] engine.run 0.935721ms
[1] ruleEngineResultsToCheckResponse 35.04737ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005024ms
[1] getLatestFactsByIds 17.929231ms
[1] engine.addRule 0.586633ms
[1] engine.run 1.615041ms
[1] ruleEngineResultsToCheckResponse 36.87559ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005657ms
[1] getLatestFactsByIds 15.308216ms
[1] engine.addRule 0.643714ms
[1] engine.run 0.794582ms
[1] ruleEngineResultsToCheckResponse 14.827407ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005487ms
[1] getLatestFactsByIds 12.867699ms
[1] engine.addRule 0.215149ms
[1] engine.run 0.466666ms
[1] ruleEngineResultsToCheckResponse 30.423906ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004529ms
[1] getLatestFactsByIds 7.262694ms
[1] engine.addRule 0.997596ms
[1] engine.run 0.246206ms
[1] ruleEngineResultsToCheckResponse 8.34134ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.006174ms
[1] getLatestFactsByIds 6.424152ms
[1] engine.addRule 0.756247ms
[1] engine.run 1.368531ms
[1] ruleEngineResultsToCheckResponse 26.020448ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004503ms
[1] getLatestFactsByIds 13.199851ms
[1] engine.addRule 0.316829ms
[1] engine.run 0.452092ms
[1] ruleEngineResultsToCheckResponse 15.418874ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.02353ms
[1] getLatestFactsByIds 9.608373ms
[1] engine.addRule 1.530865ms
[1] engine.run 0.432467ms
[1] ruleEngineResultsToCheckResponse 20.248288ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004968ms
[1] getLatestFactsByIds 4.001227ms
[1] engine.addRule 0.473371ms
[1] engine.run 3.323181ms
[1] ruleEngineResultsToCheckResponse 9.794172ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005229ms
[1] getLatestFactsByIds 5.797307ms
[1] engine.addRule 1.221295ms
[1] engine.run 0.278423ms
[1] ruleEngineResultsToCheckResponse 8.749131ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005093ms
[1] getLatestFactsByIds 20.530478ms
[1] engine.addRule 1.128203ms
[1] engine.run 1.658618ms
[1] ruleEngineResultsToCheckResponse 13.422416ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005711ms
[1] getLatestFactsByIds 14.59347ms
[1] engine.addRule 0.307621ms
[1] engine.run 0.187641ms
[1] ruleEngineResultsToCheckResponse 9.123231ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004954ms
[1] getLatestFactsByIds 8.274964ms
[1] engine.addRule 0.408582ms
[1] engine.run 1.513267ms
[1] ruleEngineResultsToCheckResponse 12.384405ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004575ms
[1] getLatestFactsByIds 5.532571ms
[1] engine.addRule 1.047343ms
[1] engine.run 1.428883ms
[1] ruleEngineResultsToCheckResponse 27.626005ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.006742ms
[1] getLatestFactsByIds 12.162519ms
[1] engine.addRule 0.359508ms
[1] engine.run 0.782534ms
[1] ruleEngineResultsToCheckResponse 122.921112ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.00544ms
[1] getLatestFactsByIds 12.663074ms
[1] engine.addRule 0.199055ms
[1] engine.run 1.052084ms
[1] ruleEngineResultsToCheckResponse 12.055203ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.00587ms
[1] getLatestFactsByIds 6.237979ms
[1] engine.addRule 0.360493ms
[1] engine.run 1.356784ms
[1] ruleEngineResultsToCheckResponse 15.781788ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004708ms
[1] getLatestFactsByIds 8.70584ms
[1] engine.addRule 0.475102ms
[1] engine.run 0.638569ms
[1] ruleEngineResultsToCheckResponse 22.622554ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005597ms
[1] getLatestFactsByIds 9.296162ms
[1] engine.addRule 0.422395ms
[1] engine.run 0.937525ms
[1] ruleEngineResultsToCheckResponse 26.488438ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.009624ms
[1] getLatestFactsByIds 15.250682ms
[1] engine.addRule 0.198555ms
[1] engine.run 2.918508ms
[1] ruleEngineResultsToCheckResponse 28.206893ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004402ms
[1] getLatestFactsByIds 7.254106ms
[1] engine.addRule 0.281368ms
[1] engine.run 0.789797ms
[1] ruleEngineResultsToCheckResponse 16.028483ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.007001ms
[1] getLatestFactsByIds 6.250635ms
[1] engine.addRule 3.060837ms
[1] engine.run 1.570785ms
[1] ruleEngineResultsToCheckResponse 9.017748ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.01631ms
[1] getLatestFactsByIds 32.116346ms
[1] engine.addRule 2.997257ms
[1] engine.run 0.323391ms
[1] ruleEngineResultsToCheckResponse 22.427011ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005424ms
[1] getLatestFactsByIds 19.069422ms
[1] engine.addRule 0.208515ms
[1] engine.run 1.625633ms
[1] ruleEngineResultsToCheckResponse 47.133477ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005043ms
[1] getLatestFactsByIds 4.746179ms
[1] engine.addRule 2.147962ms
[1] engine.run 1.35965ms
[1] ruleEngineResultsToCheckResponse 13.870947ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.104974ms
[1] getLatestFactsByIds 12.14438ms
[1] engine.addRule 0.198064ms
[1] engine.run 0.626683ms
[1] ruleEngineResultsToCheckResponse 26.907567ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.007553ms
[1] getLatestFactsByIds 19.383604ms
[1] engine.addRule 1.642117ms
[1] engine.run 0.841119ms
[1] ruleEngineResultsToCheckResponse 27.912959ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.007789ms
[1] getLatestFactsByIds 29.447455ms
[1] engine.addRule 0.388341ms
[1] engine.run 0.777863ms
[1] ruleEngineResultsToCheckResponse 35.036756ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.014281ms
[1] getLatestFactsByIds 12.237919ms
[1] engine.addRule 0.266119ms
[1] engine.run 4.439553ms
[1] ruleEngineResultsToCheckResponse 84.244908ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.006933ms
[1] getLatestFactsByIds 13.415076ms
[1] engine.addRule 0.488279ms
[1] engine.run 2.385629ms
[1] ruleEngineResultsToCheckResponse 63.467387ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.018115ms
[1] getLatestFactsByIds 16.542812ms
[1] engine.addRule 0.369252ms
[1] engine.run 1.133494ms
[1] ruleEngineResultsToCheckResponse 25.829884ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.007885ms
[1] getLatestFactsByIds 8.941533ms
[1] engine.addRule 0.888878ms
[1] engine.run 1.747809ms
[1] ruleEngineResultsToCheckResponse 42.325565ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.00502ms
[1] getLatestFactsByIds 11.933803ms
[1] engine.addRule 0.240974ms
[1] engine.run 0.977164ms
[1] ruleEngineResultsToCheckResponse 23.8042ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005106ms
[1] getLatestFactsByIds 8.093154ms
[1] engine.addRule 1.260988ms
[1] engine.run 1.6838ms
[1] ruleEngineResultsToCheckResponse 24.595214ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005633ms
[1] getLatestFactsByIds 11.110008ms
[1] engine.addRule 0.627485ms
[1] engine.run 1.903566ms
[1] ruleEngineResultsToCheckResponse 24.623263ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.006997ms
[1] getLatestFactsByIds 7.100129ms
[1] engine.addRule 1.370689ms
[1] engine.run 1.137595ms
[1] ruleEngineResultsToCheckResponse 22.781311ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004746ms
[1] getLatestFactsByIds 7.207763ms
[1] engine.addRule 0.193881ms
[1] engine.run 1.603481ms
[1] ruleEngineResultsToCheckResponse 12.975116ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004772ms
[1] getLatestFactsByIds 12.009129ms
[1] engine.addRule 0.492694ms
[1] engine.run 1.542638ms
[1] ruleEngineResultsToCheckResponse 80.884466ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.237042ms
[1] getLatestFactsByIds 10.87555ms
[1] engine.addRule 0.206202ms
[1] engine.run 1.05594ms
[1] ruleEngineResultsToCheckResponse 16.743697ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005353ms
[1] getLatestFactsByIds 4.251144ms
[1] engine.addRule 0.216179ms
[1] engine.run 0.979658ms
[1] ruleEngineResultsToCheckResponse 23.424314ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004736ms
[1] getLatestFactsByIds 7.56637ms
[1] engine.addRule 0.177539ms
[1] engine.run 0.418722ms
[1] ruleEngineResultsToCheckResponse 14.068687ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.040323ms
[1] getLatestFactsByIds 5.963823ms
[1] engine.addRule 0.189985ms
[1] engine.run 1.033245ms
[1] ruleEngineResultsToCheckResponse 388.197411ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005771ms
[1] getLatestFactsByIds 11.044104ms
[1] engine.addRule 0.202686ms
[1] engine.run 0.900904ms
[1] ruleEngineResultsToCheckResponse 27.200407ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.007298ms
[1] getLatestFactsByIds 7.901979ms
[1] engine.addRule 0.19886ms
[1] engine.run 0.867662ms
[1] ruleEngineResultsToCheckResponse 22.023182ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004868ms
[1] getLatestFactsByIds 8.066436ms
[1] engine.addRule 0.431955ms
[1] engine.run 1.118348ms
[1] ruleEngineResultsToCheckResponse 24.719282ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004948ms
[1] getLatestFactsByIds 14.663112ms
[1] engine.addRule 0.472314ms
[1] engine.run 3.109557ms
[1] ruleEngineResultsToCheckResponse 20.167139ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.012276ms
[1] getLatestFactsByIds 7.055224ms
[1] engine.addRule 0.301475ms
[1] engine.run 1.234044ms
[1] ruleEngineResultsToCheckResponse 22.130983ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.00568ms
[1] getLatestFactsByIds 9.092218ms
[1] engine.addRule 0.19082ms
[1] engine.run 1.563615ms
[1] ruleEngineResultsToCheckResponse 51.081711ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.006109ms
[1] getLatestFactsByIds 53.400829ms
[1] engine.addRule 0.270242ms
[1] engine.run 0.683491ms
[1] ruleEngineResultsToCheckResponse 129.977206ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004951ms
[1] getLatestFactsByIds 27.015271ms
[1] engine.addRule 0.190279ms
[1] engine.run 1.11276ms
[1] ruleEngineResultsToCheckResponse 54.083902ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005787ms
[1] getLatestFactsByIds 14.326326ms
[1] engine.addRule 0.197592ms
[1] engine.run 0.715485ms
[1] ruleEngineResultsToCheckResponse 23.826437ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004433ms
[1] getLatestFactsByIds 9.806084ms
[1] engine.addRule 0.178019ms
[1] engine.run 0.755196ms
[1] ruleEngineResultsToCheckResponse 13.555609ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.0058ms
[1] getLatestFactsByIds 5.718812ms
[1] engine.addRule 0.224646ms
[1] engine.run 0.450422ms
[1] ruleEngineResultsToCheckResponse 10.253861ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005003ms
[1] getLatestFactsByIds 4.74901ms
[1] engine.addRule 0.260356ms
[1] engine.run 0.481034ms
[1] ruleEngineResultsToCheckResponse 12.289143ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004358ms
[1] getLatestFactsByIds 4.469445ms
[1] engine.addRule 0.33913ms
[1] engine.run 0.475189ms
[1] ruleEngineResultsToCheckResponse 9.543946ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005739ms
[1] getLatestFactsByIds 6.506175ms
[1] engine.addRule 0.50353ms
[1] engine.run 0.339083ms
[1] ruleEngineResultsToCheckResponse 8.349763ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.007049ms
[1] getLatestFactsByIds 4.151126ms
[1] engine.addRule 0.586327ms
[1] engine.run 0.493888ms
[1] ruleEngineResultsToCheckResponse 7.916803ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005064ms
[1] getLatestFactsByIds 6.541154ms
[1] engine.addRule 0.509482ms
[1] engine.run 0.692776ms
[1] ruleEngineResultsToCheckResponse 10.438394ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005749ms
[1] getLatestFactsByIds 6.481202ms
[1] engine.addRule 0.218638ms
[1] engine.run 1.26837ms
[1] ruleEngineResultsToCheckResponse 13.558593ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.008223ms
[1] getLatestFactsByIds 7.23531ms
[1] engine.addRule 0.900938ms
[1] engine.run 0.361302ms
[1] ruleEngineResultsToCheckResponse 9.889ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005614ms
[1] getLatestFactsByIds 9.22125ms
[1] engine.addRule 0.535956ms
[1] engine.run 0.524584ms
[1] ruleEngineResultsToCheckResponse 13.471166ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.007564ms
[1] getLatestFactsByIds 4.537553ms
[1] engine.addRule 0.36649ms
[1] engine.run 0.397992ms
[1] ruleEngineResultsToCheckResponse 12.807966ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.00427ms
[1] getLatestFactsByIds 4.390763ms
[1] engine.addRule 3.209666ms
[1] engine.run 0.234984ms
[1] ruleEngineResultsToCheckResponse 15.719591ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.014297ms
[1] getLatestFactsByIds 12.017212ms
[1] engine.addRule 0.209981ms
[1] engine.run 1.791254ms
[1] ruleEngineResultsToCheckResponse 20.345017ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005166ms
[1] getLatestFactsByIds 4.860769ms
[1] engine.addRule 0.359757ms
[1] engine.run 0.275283ms
[1] ruleEngineResultsToCheckResponse 4.215801ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004379ms
[1] getLatestFactsByIds 5.132616ms
[1] engine.addRule 0.318638ms
[1] engine.run 0.188052ms
[1] ruleEngineResultsToCheckResponse 5.777171ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.006489ms
[1] getLatestFactsByIds 4.50377ms
[1] engine.addRule 0.424738ms
[1] engine.run 0.250044ms
[1] ruleEngineResultsToCheckResponse 5.465237ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004974ms
[1] getLatestFactsByIds 5.18363ms
[1] engine.addRule 0.318413ms
[1] engine.run 0.228789ms
[1] ruleEngineResultsToCheckResponse 4.855885ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.006365ms
[1] getLatestFactsByIds 6.332588ms
[1] engine.addRule 0.329134ms
[1] engine.run 0.396912ms
[1] ruleEngineResultsToCheckResponse 6.580921ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004444ms
[1] getLatestFactsByIds 4.081625ms
[1] engine.addRule 0.182153ms
[1] engine.run 0.48205ms
[1] ruleEngineResultsToCheckResponse 9.702468ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005002ms
[1] getLatestFactsByIds 4.541983ms
[1] engine.addRule 0.4443ms
[1] engine.run 0.647112ms
[1] ruleEngineResultsToCheckResponse 8.14444ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004739ms
[1] getLatestFactsByIds 6.740927ms
[1] engine.addRule 0.230258ms
[1] engine.run 0.477687ms
[1] ruleEngineResultsToCheckResponse 9.380429ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005466ms
[1] getLatestFactsByIds 5.962382ms
[1] engine.addRule 0.206689ms
[1] engine.run 0.418053ms
[1] ruleEngineResultsToCheckResponse 10.531893ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005836ms
[1] getLatestFactsByIds 4.865288ms
[1] engine.addRule 0.209454ms
[1] engine.run 0.735438ms
[1] ruleEngineResultsToCheckResponse 22.295687ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.010938ms
[1] getLatestFactsByIds 11.741668ms
[1] engine.addRule 0.457813ms
[1] engine.run 0.888865ms
[1] ruleEngineResultsToCheckResponse 18.954936ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004702ms
[1] getLatestFactsByIds 9.212768ms
[1] engine.addRule 0.58106ms
[1] engine.run 0.778979ms
[1] ruleEngineResultsToCheckResponse 15.890302ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.019767ms
[1] getLatestFactsByIds 14.866016ms
[1] engine.addRule 0.834554ms
[1] engine.run 0.86152ms
[1] ruleEngineResultsToCheckResponse 32.712884ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004007ms
[1] getLatestFactsByIds 5.704536ms
[1] engine.addRule 0.642719ms
[1] engine.run 1.102256ms
[1] ruleEngineResultsToCheckResponse 26.038135ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005318ms
[1] getLatestFactsByIds 12.920192ms
[1] engine.addRule 1.410612ms
[1] engine.run 1.014878ms
[1] ruleEngineResultsToCheckResponse 17.742025ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.00497ms
[1] getLatestFactsByIds 7.930379ms
[1] engine.addRule 0.592307ms
[1] engine.run 0.525657ms
[1] ruleEngineResultsToCheckResponse 17.975653ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.009471ms
[1] getLatestFactsByIds 144.645176ms
[1] engine.addRule 1.520359ms
[1] engine.run 0.445898ms
[1] ruleEngineResultsToCheckResponse 19.957346ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004327ms
[1] getLatestFactsByIds 5.285017ms
[1] engine.addRule 0.415228ms
[1] engine.run 1.616645ms
[1] ruleEngineResultsToCheckResponse 13.548541ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004936ms
[1] getLatestFactsByIds 11.846905ms
[1] engine.addRule 0.195206ms
[1] engine.run 1.495983ms
[1] ruleEngineResultsToCheckResponse 14.745665ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004163ms
[1] getLatestFactsByIds 5.222547ms
[1] engine.addRule 0.214269ms
[1] engine.run 0.538519ms
[1] ruleEngineResultsToCheckResponse 26.429348ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.00486ms
[1] getLatestFactsByIds 5.945052ms
[1] engine.addRule 0.189199ms
[1] engine.run 0.590685ms
[1] ruleEngineResultsToCheckResponse 27.761544ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004005ms
[1] getLatestFactsByIds 20.746233ms
[1] engine.addRule 0.498576ms
[1] engine.run 1.676989ms
[1] ruleEngineResultsToCheckResponse 43.052389ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.007221ms
[1] getLatestFactsByIds 15.91175ms
[1] engine.addRule 0.539604ms
[1] engine.run 0.477841ms
[1] ruleEngineResultsToCheckResponse 15.659521ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004011ms
[1] getLatestFactsByIds 13.413117ms
[1] engine.addRule 0.201375ms
[1] engine.run 1.472906ms
[1] ruleEngineResultsToCheckResponse 36.235894ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.006721ms
[1] getLatestFactsByIds 12.618014ms
[1] engine.addRule 0.215899ms
[1] engine.run 0.517737ms
[1] ruleEngineResultsToCheckResponse 32.741825ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.007205ms
[1] getLatestFactsByIds 13.664655ms
[1] engine.addRule 1.514232ms
[1] engine.run 0.654872ms
[1] ruleEngineResultsToCheckResponse 34.851733ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.006771ms
[1] getLatestFactsByIds 5.580524ms
[1] engine.addRule 0.240858ms
[1] engine.run 1.970849ms
[1] ruleEngineResultsToCheckResponse 29.102724ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.006103ms
[1] getLatestFactsByIds 11.381405ms
[1] engine.addRule 1.948791ms
[1] engine.run 0.520775ms
[1] ruleEngineResultsToCheckResponse 16.820417ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.009165ms
[1] getLatestFactsByIds 11.874258ms
[1] engine.addRule 0.251461ms
[1] engine.run 1.027618ms
[1] ruleEngineResultsToCheckResponse 21.999525ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.007764ms
[1] getLatestFactsByIds 26.24844ms
[1] engine.addRule 0.17851ms
[1] engine.run 0.745616ms
[1] ruleEngineResultsToCheckResponse 35.206275ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.096635ms
[1] getLatestFactsByIds 17.651208ms
[1] engine.addRule 0.217607ms
[1] engine.run 1.611365ms
[1] ruleEngineResultsToCheckResponse 17.970949ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.00502ms
[1] getLatestFactsByIds 8.729175ms
[1] engine.addRule 0.216721ms
[1] engine.run 0.8209ms
[1] ruleEngineResultsToCheckResponse 14.982252ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.00552ms
[1] getLatestFactsByIds 30.272565ms
[1] engine.addRule 0.198258ms
[1] engine.run 0.44672ms
[1] ruleEngineResultsToCheckResponse 23.910116ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.015066ms
[1] getLatestFactsByIds 11.473582ms
[1] engine.addRule 0.245829ms
[1] engine.run 1.305586ms
[1] ruleEngineResultsToCheckResponse 41.097574ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.00599ms
[1] getLatestFactsByIds 6.191898ms
[1] engine.addRule 0.29822ms
[1] engine.run 0.897844ms
[1] ruleEngineResultsToCheckResponse 12.796498ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004183ms
[1] getLatestFactsByIds 5.971917ms
[1] engine.addRule 0.584946ms
[1] engine.run 1.03493ms
[1] ruleEngineResultsToCheckResponse 22.075893ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.008016ms
[1] getLatestFactsByIds 9.142089ms
[1] engine.addRule 0.167943ms
[1] engine.run 1.9809ms
[1] ruleEngineResultsToCheckResponse 27.860618ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.00719ms
[1] getLatestFactsByIds 8.529259ms
[1] engine.addRule 0.219613ms
[1] engine.run 1.871476ms
[1] ruleEngineResultsToCheckResponse 24.642074ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005075ms
[1] getLatestFactsByIds 12.513852ms
[1] engine.addRule 0.267316ms
[1] engine.run 0.676676ms
[1] ruleEngineResultsToCheckResponse 16.615244ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005951ms
[1] getLatestFactsByIds 9.768139ms
[1] engine.addRule 0.323086ms
[1] engine.run 2.08337ms
[1] ruleEngineResultsToCheckResponse 22.084318ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005835ms
[1] getLatestFactsByIds 6.45406ms
[1] engine.addRule 0.175765ms
[1] engine.run 0.748081ms
[1] ruleEngineResultsToCheckResponse 28.913599ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.006664ms
[1] getLatestFactsByIds 11.480712ms
[1] engine.addRule 0.224046ms
[1] engine.run 0.899343ms
[1] ruleEngineResultsToCheckResponse 23.7229ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.004603ms
[1] getLatestFactsByIds 9.609409ms
[1] engine.addRule 0.330681ms
[1] engine.run 0.933811ms
[1] ruleEngineResultsToCheckResponse 10.963227ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005839ms
[1] getLatestFactsByIds 10.198911ms
[1] engine.addRule 0.220233ms
[1] engine.run 0.471413ms
[1] ruleEngineResultsToCheckResponse 21.764798ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.00835ms
[1] getLatestFactsByIds 9.105341ms
[1] engine.addRule 0.202976ms
[1] engine.run 1.159094ms
[1] ruleEngineResultsToCheckResponse 17.478336ms
[1] ---
[1] ---
[1] checkRegistry.gell 0.005056ms
[1] getLatestFactsByIds 7.102614ms
[1] engine.addRule 0.219961ms
[1] engine.run 0.724776ms
[1] ruleEngineResultsToCheckResponse 19.265946ms
[1] ---
goenning

comment created time in 11 days

PullRequestReviewEvent

Pull request review commentbackstage/backstage

[TechInsights] add operation to run checks for multiple entities in one operation

 export class JsonRulesEngineFactChecker       if (hasAllFacts) {         engine.addRule({ ...techInsightCheck.rule, event: noopEvent });       } else {-        this.logger.warn(+        this.logger.debug(

by the way, I tested this operation with our setup of 200+ entities and 9 checks, it takes 1.2sec with debug log and 3.5sec when using warn

goenning

comment created time in 11 days

PullRequestReviewEvent

issue commentbackstage/backstage

[Tech Insights] Run checks for multiple entities in a single request

Thanks for the inputs, I created a draft PR

goenning

comment created time in 11 days

Pull request review commentbackstage/backstage

[TechInsights] add operation to run checks for multiple entities in one operation

 export class JsonRulesEngineFactChecker       if (hasAllFacts) {         engine.addRule({ ...techInsightCheck.rule, event: noopEvent });       } else {-        this.logger.warn(+        this.logger.debug(

My reasoning here as I know this will be asked:

Fact Retrievers can target a subset entities by using filters, so it's expected that not all facts to be available on all entities, so it's ok for checks to be skipped.

When I see a warn on logs, It's something I want to dig into and fix it, but in this scenario, there is no fix and the result is logs being spammed with unactionable logs.

goenning

comment created time in 11 days

PullRequestReviewEvent

PR opened backstage/backstage

[TechInsights] add operation to run checks for multiple entities in one operation

Signed-off-by: goenning me@goenning.net

Hey, I just made a Pull Request!

closes #8848

So here's my take on the new operation to run checks for multiple entities in one operation

:heavy_check_mark: Checklist

<!--- Please include the following in your Pull Request when applicable: -->

  • [X] A changeset describing the change and affected packages. (more info)
  • [ ] Added or updated documentation
  • [ ] Tests for new functionality and regression tests for bug fixes
  • [ ] Screenshots attached (for UI changes)
  • [X] All your commits have a Signed-off-by line in the message. (more info)
+93 -5

0 comment

8 changed files

pr created time in 11 days

create barnchgoenning/backstage

branch : go/add-bulk-check-operation

created branch time in 11 days

push eventgoenning/backstage

moltenice

commit sha e90a2f49e1c7f25c6b98e7d696e86cc098e422ff

Add in the plugin marketplace entry for Airbrake Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha 5cd6880dbe3de998562a43e4cda28b2959334c40

Generate the initial plugin code Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha 073bd161df089b954dd104a58b158f47f1c2baab

Add index.test.ts and plugin.test.tsx Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha 1e69306d1b705fe93d77911e4dfbc58a78942756

Remove CODEOWNERS Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha 483bdad7ece7fc0421995dd35e8bd96afa2375cc

Remove the plugin from App.tsx and update README Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha 6be5f036055294112e070397c1bf140c5209c237

Update the Airbrake Icon to use the one from their website Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha 148029d9531d3ad1a0e784b3e8ebeedefbc045d4

Update ExampleFetchComponent.test.tsx Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha 6868b9087d7aa079963d22ca0bc9f71ac2f66123

Make it very clear that this plugin is not fit for use Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha ec2b38ae2c35a12e45fa71b8a11ccb3329d637a8

Improve the wording in index.test.ts Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha 367b5aac2ecd5999608d2fd9edd9c928a5174852

Created a Changeset and improved the Airbrake plugin README Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha e5e3875ec99660d062c1343e86fb72c00208f626

Add the generated api-report.md Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Brian Fletcher

commit sha 57261f7e86940184853531167cde943c407d4cf7

discovery processor to use gh creds interface Signed-off-by: Brian Fletcher <brian@roadie.io>

view details

Karan Shah

commit sha 66510a7d5b395f913d0c84c0c7c4995dffce8e1f

Added in some ExampleData.ts Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha 0f8661f444648eb0d25a717bb10388f43c709161

Add in AirbrakeWidget Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha baa79f07241ff2524381607708207ae62ff8cc00

Improve tests and keys in for loops for TSX Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha 96d560cd950dbca3fee5a6d6c1af3eff97a3b5b7

Add 100% test coverage Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha a5506610980f028a0a6c16adaa539aeb819db99f

Fix AirbrakeWidget.test.tsx Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha 4ec1d27e26fdb8cad031d30ada38235a8ad424de

Fix plugin.test.tsx as page elements were moved out Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

Karan Shah

commit sha b44a3240647773bda2595f50f823eede8a9060e0

Small name refactoring and improvement to dev Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

moltenice

commit sha 52465d490fe6e7540305db498d926d221d8c7b61

Add in the plugin marketplace entry for Airbrake Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>

view details

push time in 11 days

push eventgoenning/backstage

goenning

commit sha 811fb9cf9ca1c31ff8a3cad89ae965ea62314191

remove this.logger.isDebugEnabled call Signed-off-by: goenning <me@goenning.net>

view details

push time in 11 days

delete tag goenning/smtpd

delete tag : v0.8.0

delete time in 12 days

created taggoenning/smtpd

tagv0.1.0

An SMTP server package written in Go, in the style of the built-in HTTP server.

created time in 12 days

pull request commentmhale/smtpd

Add listener tracking and listener closing on close/shutdown

hey @cuu508 have you been using this code in production? How's it behaving?

there's already a unit test for shutdown, I think it'd be useful to have a test for this scenario as well so there's no regression

cuu508

comment created time in 12 days

push eventgoenning/smtpd

goenning

commit sha 69f27992ecdafa5b8faf1fe71c7dfa52ee8dfa8f

clean up

view details

push time in 12 days

push eventgoenning/smtpd

goenning

commit sha 8e8eaf31cc69471d4e55b9962e1dfeb38f9450df

rename module

view details

goenning

commit sha 59bdd49a15dc4ccab9b843e889c3607f391da86c

expose session

view details

push time in 12 days

more