Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature request] Kubernetes feature gates statistics and dashboards #74

Open
aojea opened this issue Sep 10, 2024 · 9 comments
Open

[feature request] Kubernetes feature gates statistics and dashboards #74

aojea opened this issue Sep 10, 2024 · 9 comments
Assignees
Labels
blocked enhancement New feature or request help wanted Extra attention is needed needs-decision question Further information is requested

Comments

@aojea
Copy link

aojea commented Sep 10, 2024

There was recently a very discussion in sig-architecture mailing list about What if we eliminate the beta stage for new features?

Lot of good points were raised, though it was obvious the problem is complex as it involves (at minimum) three categories of features as described by @thockin here

I will be very useful to have some dashboard showing the existing feature gates states across releases that helped to do a more data driven decision.

I've created a one shot analysis here but it quickly got outdated (it is from 1.29), I obtained the data with this dirty script .

I think that the important fields are FeatureGate|SIG Owner that is 1:N to Release|Default Value| Locked| State (State: can be alpha, beta, deprecated, GA )

Interesting dashboards that come to mind ( these are suggestions feel free to add remove):

  • Feature Gates per State per Release (allowing to filter by state) by SIG
  • Features Created/Closed, bear in mind created may not be alpha, and closed may be GA or removed by SIG
  • Features age per State by SIG
  • Feature Time to Graduate
  • New Features per SIG
  • ....
@aojea aojea added the enhancement New feature or request label Sep 10, 2024
@lukaszgryglicki
Copy link
Member

Not sure what is an action item for DevStats here...

@lukaszgryglicki
Copy link
Member

I don't see a way of creating such dashboards in DevStats as we just don't have such data there - DevStats only has git and GitHub archives, GitHub API data - none of them are aware of feature gates - looks like this is something K8s specific...

@lukaszgryglicki lukaszgryglicki added help wanted Extra attention is needed question Further information is requested blocked needs-decision labels Sep 10, 2024
@lukaszgryglicki lukaszgryglicki self-assigned this Sep 10, 2024
@aojea
Copy link
Author

aojea commented Sep 10, 2024

I don't see a way of creating such dashboards in DevStats as we just don't have such data there - DevStats only has git and GitHub archives, GitHub API data - none of them are aware of feature gates - looks like this is something K8s specific...

IIt can be obtained by processing the git files on the repository, I don't know if by git you only refers to the gist history, independently of that, I can try to make the data available ... if the data is available are these dashboard feasible in devstats or still not something that really belong here? I just opened the issue to check the feasibility and gather feedback

@lukaszgryglicki
Copy link
Member

I do have list of files added/deleted/modified in each git commit, but still no idea how to make such dashboards from those files, also anything like this (new dashboards) needs to be approved by @caniszczyk first.

@aojea
Copy link
Author

aojea commented Sep 11, 2024

not a big deal, just wanted to know if is feasible, I can create a periodic job that export the data to big query, is not much ... totally fine to close the issue if you don't feel it belongs here

@lukaszgryglicki
Copy link
Member

Well, it's not like this, I can evaluate creating a dashboard in DevStats but would need an approval to do this 1st and then I would need a lot more info/specs about how to detect all states that you are interested in via checking git commit files, etc.

@caniszczyk
Copy link

caniszczyk commented Sep 11, 2024 via email

@lukaszgryglicki
Copy link
Member

Right, so now when I have a green light - I need to have way more detailed specs on how should I implement those dashboards - each fo them should have some kind of documentation that specifies what exactly it is supposed to do, how to detect various states - like:

  • how to detect a feature gate?
  • how to detect its SIG owner?
  • all those Release | Default Value | Locked | State?
  • how to detect alpha, beta, deprecated, GA states?

For all of those:

- Feature Gates per State per Release (allowing to filter by state) by SIG
- Features Created/Closed, bear in mind created may not be alpha, and closed may be GA or removed by SIG
- Features age per State by SIG
- Feature Time to Graduate
- New Features per SIG

Questions:

  • What are input parameters (filtering options) - like in other DevStats dashbaords.
  • What are expected outputs: rows/columns list/table?/chart?
  • Maybe some wireframes?

@aojea ?

@aojea
Copy link
Author

aojea commented Sep 21, 2024

Sorry for the slow response, let me come back to you next week, I´ll reach out in the slack channel to iterate on this details, as there may be multiple possibilities

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked enhancement New feature or request help wanted Extra attention is needed needs-decision question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants