feat(scorecard)!: add database and schedulers - #1544
Conversation
2d44cf7 to
7449254
Compare
|
Important This PR includes changes that affect public-facing API. Please ensure you are adding/updating documentation for new features or behavior. Unexpected ChangesetsThe following changeset(s) reference packages that have not been changed in this PR:
Note that only changes that affect the published package require changesets, for example changes to tests and storybook stories do not require changesets. Changed Packages
|
7449254 to
97b6ba1
Compare
07a5a55 to
5e87ead
Compare
Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
Signed-off-by: Ihor Mykhno <imykhno@redhat.com>
5e87ead to
2883b1d
Compare
Signed-off-by: Ihor Mykhno <imykhno@redhat.com>
2883b1d to
2964f31
Compare
| * limitations under the License. | ||
| */ | ||
|
|
||
| export const CLEANUP_EXPIRED_METRICS_ID = 'cleanup-expired-metrics' as const; |
There was a problem hiding this comment.
Would maybe prefix it with scorecard: just to be sure it doesn't intersect anything.
| '@red-hat-developer-hub/backstage-plugin-scorecard': minor | ||
| --- | ||
|
|
||
| Adds database persistence and scheduled metric collection. |
There was a problem hiding this comment.
I would add breaking here since we are now requiring getCatalogFilter
**BREAKING**: ...
- Add information about what is breaking - getCatalogFilter
| `Deleted ${deletedCount} expired metrics older than ${dataRetentionDays} days`, | ||
| ); | ||
| } catch (error) { | ||
| logger.error(`Failed to cleanup expired metrics:`, error); |
There was a problem hiding this comment.
Do we need this line here, as it's already on line 61? Or is there another spot where this function is called from that could expect to receive the exception thrown on the next line?
There was a problem hiding this comment.
Thank you for your comment, this logger is not necessary I will remove it
1747733 to
a127942
Compare
Signed-off-by: Ihor Mykhno <imykhno@redhat.com>
a127942 to
12fae92
Compare
Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
|
|
Retested again and tested the new deletion functionality, works great, thank you @imykhno. |
* Introduce metric_values db Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Connect metric providers on schedule Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Add catalog entities processing to providers Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Extract to BaseMetricProvider Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Rename metricValue row Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Integrate db read to metrics endpoint Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Use directly catalogService in CatalogMetricService Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Remove not needed readMetricValues Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Switch db value to json Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Extract scheduling to scorecard backend Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Simplify DatabaseMetricValuesStore Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Add tests Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Update docs Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Increate timeout for db Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * feat(scorecard): implement cleanup expired metrics mechanism Signed-off-by: Ihor Mykhno <imykhno@redhat.com> * refactor(scorecard): logic to load and cleanup metrics Signed-off-by: Ihor Mykhno <imykhno@redhat.com> * refactor(scorecard): scorecard metric loading logic Signed-off-by: Ihor Mykhno <imykhno@redhat.com> * Update changeset Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> --------- Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> Signed-off-by: Ihor Mykhno <imykhno@redhat.com> Co-authored-by: Ihor Mykhno <imykhno@redhat.com>
* Introduce metric_values db Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Connect metric providers on schedule Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Add catalog entities processing to providers Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Extract to BaseMetricProvider Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Rename metricValue row Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Integrate db read to metrics endpoint Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Use directly catalogService in CatalogMetricService Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Remove not needed readMetricValues Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Switch db value to json Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Extract scheduling to scorecard backend Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Simplify DatabaseMetricValuesStore Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Add tests Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Update docs Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * Increate timeout for db Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> * feat(scorecard): implement cleanup expired metrics mechanism Signed-off-by: Ihor Mykhno <imykhno@redhat.com> * refactor(scorecard): logic to load and cleanup metrics Signed-off-by: Ihor Mykhno <imykhno@redhat.com> * refactor(scorecard): scorecard metric loading logic Signed-off-by: Ihor Mykhno <imykhno@redhat.com> * Update changeset Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> --------- Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com> Signed-off-by: Ihor Mykhno <imykhno@redhat.com> Co-authored-by: Ihor Mykhno <imykhno@redhat.com>



Hey, I just made a Pull Request!
Adds database.
Adds schedulers.
Fixes
https://issues.redhat.com/browse/RHIDP-8717
How to test
Creates db directory under scorecard/packages
Or:
For testing purposes, you can update schedule to fetch metrics more often:
You should see in logs:
✔️ Checklist