Closed UriZafrir closed 2 months ago
If there is anything else needed, please describe what exactly is needed and I can generate a custom report for you, or we can consider adding a new dashboard if needed.
Generally look for dashboards related to companies (company in their name or companies
tag) and by repository groups (repository group is a single CNCF project in case of All CNCF DevStats instance).
Hi, thank you for your quick answer. Indeed, using "company-contribution-counts-in-repository-groups", I am able to see per company what are the number of it's commits per project. I can choose one company at a time.
I think it might be interesting for the community (or just for me) to be able to compare companies' commits per repo - maybe a dashboard of a bar chart sorted by company (one bar per company) that shows the number of commits a company has per project. This could be interesting because then we can understand the "CNCF" projects stack it's likely using.
Also I think the "rank" column in the default query is not really necessary if they are sorted by number of commits... I switched the "rank" column it with the "value" column. So another suggestion would be to switch them in the default query.
I will check this tomorrow, but even now - LMK if you want me to add any new dashboard or not? And if so, then I would need specs for that dashboard - cc @caniszczyk
I think it might be interesting for the community (or just for me) to be able to compare companies' commits per repo
repository group
is a project in this DevStats instance.maybe a dashboard of a bar chart sorted by company (one bar per company) that shows the number of commits a company has per project. This could be interesting because then we can understand the "CNCF" projects stack it's likely using
:
Also I think the "rank" column in the default query is not really necessary if they are sorted by number of commits... I switched the "rank" column it with the "value" column. So another suggestion would be to switch them in the default query.
As I understand from your response, there is something similar to what I'm asking but not what I'm asking. Regarding you earlier response, yes, creating a new dashboard would be interesting for me. Which specs do you need?
Specs:
table
tag) or a time-series dashboard?All CNCF
instance or maybe for all projects, Kubernetes
needs approval from the community as they have very specialised set of dashboards.For new dashboard I would need a green light from @caniszczyk to start working on it as it will probably take a day or two to implement.
I guess to decide if this is a dashboard or a custom query we first need to know if this feature is interesting to anyone else but me. Is there a place to suggest it to anyone else to see the response of the community?
Specs as I understand: A tabular dashboard (not time series). Repo drop down (with All option), company drop-down (with All option), time range dropdown - with last week, last month, last year, last decade, etc. I guess its also all options. As I wrote, a bar chard, with each bar representing a company, with all its commits by project (with colors). For example the google bar will contain commits for kubernetes, helm, etc stacked by colors. Hope its clear. So when viewing the entire dashboard one will know for each company what are it's commits by project. I think its only relevant to all cncf instance.
Specs are clear, now this is only the question of - do we need a separate dashboard for this, or is this OK that I will generate a custom report for this.
cc @caniszczyk - you can also ask on slack channel #devstats for example...
I have no problem putting it on the slack channel #devstats but it seems it's archived
Hmm I don't see that it is archived:
I can provide a custom report for you next week, and if there is a decision that we also need a dashboard for this, I can then create one based on already generated report (its underlying query, etc.) - makes sense?
correct. I joined the channel and posted the idea. OK about the custom report. Thanks!
Will do on Monday.
On it - will generate a custom report and provide details here.
I've added a report query that calculates the requested data.
I've described here (section Commits stats for projects and companies
) how to use it in the reporting pod.
I've generated a CSV file with results for limiting number of companies and projects to 50, so you can see top 50 companies in each of top 50 projects and top 50 projects in each of top 50 companies. I've generated data for all time (1/1/2014 - 1/1/2025).
Here is the CSV:
company_project_commits_stats.csv
I will also upload this to Google sheet and create some example chart and put a link here.
Here is the google sheet with data, you can create any chart you need from it.
It has two sheets showing the same data, but organised differently.
Your request was for data in By Company
sheet, it contains.
I'm skipping any bot activities and I'm not including Independent
affiliation which is not a real company, I'm also skipping CNCF
projects which is just a statistics for CNCF itself.
column A
- Company's name
(ordered by all commits made by company across all CNCF projects) - I'm including top 50 companies. The sheet is sorted from top committing to 50th committing company. We are skipping special entries like Independent
, (Robots)
and unaffiliated/unknown commits (commits coming from contributors for whom affiliations are unknown at given commit's timestamp).
column B
- CNCF project name
that company commits to. It is sorted by the number of commits made by this company and then project for which that company makes more commits. Up to 50 projects can show here - if given company commits to at least 50 different projects. We are skipping special CNCF
internal project.
column C
- Commits
- how many commits a given company made for a given CNCF project since 1/1/2014 to 1/1/2025 (basically all-time).
column D
- All company's commits
- number of all commits that this company has made to all CNCF projects (excluding special CNCF
project).
column E
- All project's commits
- number of all commits that given CNCF project has in a given filtering context (all time range, no bots, no Independent
/(Robots)
or unknown/unaffiliated commits).
column F
- Percent of all company's commits
- percent of all commits made by this company dedicated to a given CNCF project) - this is basically column C
/ column D
percent.
column G
- Percent of all project's commits
- how many percent for a given CNCF project is coming from this company - this is basically column C
/ column E
percent.
Another sheet is By Project
and it is showing the same data but from project's perspective not company, so the fist column there is a project and then split by companies (the opposite of By Company
where the 1st column is a company and then split by project).
I'm not sure what exact chart is needed, but all data is in the linka nd I've allowed full edit for anybody with the link, so feel free to create any chart you need or just duplicate and do whatever is needed with this data.
For creating a dedicated dashboard that would be doing something similar I need a green light
from @caniszczyk and more people's requests to do so - this si because we don't have a dashboard of this type yet (stacked bar charts not using timestamps but one column for separate "stacks" and then another columns for "stacking items") - so it will take a considerable amount of time to implement - plus I think that aggregated data will very seldom change, so generating this on request
even twice a year will be a simpler solution that adding one more complex dashboard.
I'm closing this for now - I've added label needs-decision
for this.
thank you. I managed to generate a really simple graph with python and plotly. I think this is really interesting.... Would love to get that implemented. I can also try to help.
import pandas as pd
import plotly.express as px
df = pd.read_csv('company_project_commits_stats.csv')
fig = px.bar(df, x="company", y="all_company_commits", log_y=True,color="project", text_auto=True)
fig.update_xaxes(categoryorder='total descending')
fig.show()
Looking very good, thanks for this!
OK, closing this, please reopen if there is anything else needed.
Hi, I’m trying to use devstats - all.devstats.cncf.io to see for each company which commits were made to which cncf projects. this can help me see what is the open source stack for each company.. is there a dashboard for this? if not, which parameters should I choose for this? I think it could be interesting for the community.![image](https://github.com/cncf/devstats/assets/35652384/d373e6d1-cd2d-4436-a596-2b13c51f0880)