Skip to content
This repository has been archived by the owner on Jun 9, 2023. It is now read-only.

Kebechet managers metrics #560

Open
15 of 29 tasks
xtuchyna opened this issue Apr 12, 2022 · 4 comments
Open
15 of 29 tasks

Kebechet managers metrics #560

xtuchyna opened this issue Apr 12, 2022 · 4 comments
Labels
kind/feature Categorizes issue or PR as related to a new feature. priority/backlog Higher priority than priority/awaiting-more-evidence. sig/user-experience Issues or PRs related to the User Experience of our Services, Tools, and Libraries.

Comments

@xtuchyna
Copy link
Member

xtuchyna commented Apr 12, 2022

Is this related to another Issue?

Related to thoth-station/core#322
The issue required to be split and refined - some of the metrics were too abstract and needed specification, other metrics may be not valuable or necessary.
Also, some potential metrics that could bring value were added.

Problem statement && User stories

Following three different user stories w.r.t. to their perspectives can be identified.

As a potential future user of Kebechet,

I would like to have an overview of Kebechet managers,

so that I can

  • see the Kebechet's value in open source python repositories on GitHub
  • decide to use Kebechet in my repository ( (?) wouldn't be user prone to use only a specific manager according to the one that is used the most and has the best metrics )

As a Kebechet User,

I would like to have an overview on the use of Kebechet.

so that

  • (?) I can see it does not have an outage (user does not need to see this, he clearly can tell by just looking at the Kebechet behaviour in repo)
  • (?) I can see others use it as well (missing value here, just because others use it does not mean that I need to use it as well)
  • (?) overview of my own repository kebechet metrics, so that I can see it brings value to my project (this would however require comparison metrics to other projects that do not use kebechet, and we would need to show that Kebechet is better at this)

As Kebechet Maintainer,

I would like to have a look at dashboard with all Kebechet metrics

so that I can see which managers are used and performing well, which needs attention (slow responding time, critical number of rejected requests, and etc.) and which managers are not used (so even if they need attention, they can be of a low-priority).

High-level Goals

  • Have a dashboard regarding all Kebechet manager metrics (manager specific + SLI/SLO)
  • Fill kebechet universe landing page with all required data

Proposal description

Repository Daily Metrics

Collect daily metrics (that only includes Issues created in particular day) for each day of the repository history.

version manager

  • # Issues created by bot
    by user for manager (version manager does not create issues)
  • # Issues completed (closed by bot)
  • # Issues rejected (closed by other)

advise manager

  • # PRs created by bot
  • # PRs approved (PR contains approval OR has label approved )
    • (?) extension: was labeled approved in some point of PR history
  • # PRs merged
    (EDIT) extended:
    • merged by bot
    • merged by other
  • # PRs rejected (closed)
    (EDIT) extended:
    • rejected by bot
    • rejected by other
  • (?) Mean Time To Merge PR (Kebechet metrics page uses 30 days rolling window, not daily mean time)
    (EDIT) mean time to merge for a day in seconds

(?) other managers

Managers SLO/SLI

Kebechet universe page

Satisfy metrics for the Kebechet universe page:

Kebechet is keeping (1) repositories of (2) organization on GitHub up to date. In the past month, (3) Pull Requests have been opened and (4) % of them have been merged within (5) hours. Only (6) % of pull requests were rejected or closed by humans.

  • (1) overall number of active (non-archived) repositories with kebechet installation

  • (2) overall number of unique organizations that have at least one repository with kebechet installation

  • (3) 30 days Rolling window sum of created PRs by bot

  • (4) 30 days Rolling window sum of created PRs by bot that were merged

  • (?) (5) Maximum Time To Merge PR value found in all merged PRs across all repositories

  • (?) (5) 30 days Rolling window median time of all Time To Merge attributes for all PRs across all repositories

  • (6) days Rolling window sum of created PRs by bot that were closed by other

Acceptance Criteria

  • Implement daily metrics for version and advise manager
  • Store them on ceph as entity (for each repo under its subfolder)
  • Decide what SLO/SLI metrics needs to be added
  • Implement SLO/SLI metrics
  • Store them on ceph, specific location {namespace-name}/thoth-sli-metrics/{manager-name}/ , one file or for each day its own SLO file (?)
  • Make a decision on the 5. feature
  • Implement kebechet universe metrics
  • Store them on ceph, specific location (ideally under kebechet-universe subfolder) - (?) one file that is constantly overwritten or leave a dataframe of records for each day
@xtuchyna xtuchyna added kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/...` label and requires one. labels Apr 12, 2022
@Gkrumbach07
Copy link
Member

/sig user-experience

@sesheta sesheta added the sig/user-experience Issues or PRs related to the User Experience of our Services, Tools, and Libraries. label Apr 13, 2022
@Gkrumbach07
Copy link
Member

Gkrumbach07 commented Apr 13, 2022

I can see it does not have an outage (user does not need to see this, he clearly can tell by just looking at the Kebechet behaviour in repo)

The user should be able to check the status of their manager through a central support page. There may be no way to tell the user at the base of the issue.

overview of my own repository kebechet metrics, so that I can see it brings value to my project

Depending on the functionally of Kebechet we want to highlight, comparisons might be hard to measure. I.e. Time to create a tag release without Kebechet cant really be measured automatically. In UX design, number of clicks or actions to preform a task is a big metric to look out for.

@goern goern changed the title Kebechet managers metrics [13pt] Kebechet managers metrics May 2, 2022
@goern goern added priority/critical-urgent Highest priority. Must be actively worked on as someone's top priority right now. and removed needs-triage Indicates an issue or PR lacks a `triage/...` label and requires one. labels May 2, 2022
@goern goern changed the title [13pt] Kebechet managers metrics [21pt] Kebechet managers metrics May 2, 2022
@xtuchyna
Copy link
Member Author

/assign @xtuchyna

@Gkrumbach07
Copy link
Member

Gkrumbach07 commented Jan 30, 2023

Condensing EPIC due to inactivity

related: thoth-station/thoth-station.github.io#257

@Gkrumbach07 Gkrumbach07 changed the title [21pt] Kebechet managers metrics Kebechet managers metrics Jan 30, 2023
@goern goern added priority/backlog Higher priority than priority/awaiting-more-evidence. and removed priority/critical-urgent Highest priority. Must be actively worked on as someone's top priority right now. labels Feb 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/feature Categorizes issue or PR as related to a new feature. priority/backlog Higher priority than priority/awaiting-more-evidence. sig/user-experience Issues or PRs related to the User Experience of our Services, Tools, and Libraries.
Projects
Status: 📋 Backlog
Development

No branches or pull requests

4 participants