Skip to content

[Feature Request] Analytics #18262

Open
Open
@schorsch13

Description

@schorsch13

Main idea

I was thinking about how to improve gitea so it can better compete with the other mainstream git hosting platforms. I discovered that both GitHub and GitLab have pretty good analytics for profiles and repos.

Comparison to other platforms

While gitea only has a contribution heatmap for profiles and only a counter for issues and PRs for repos, GitHub has a pretty awesome overview of all different types of contributions you did

image

for profiles and for repos it has an overview of:

image

image

image

GitLab on the other hand has similar features on profile analytics but for repos, oh boy, there are the most awesome analytics you can have for a repo. Listing the best ones:

  1. Commits over time where you can filter for branches

image

  1. Issues over time

image

  1. PR stats

image

  1. The different stages of new features. From when the issue is created to when the PR is merged. How much time does a feature spend in which state. (pretty useful to improve your deployment rate)

image

Gitea is my favourite alternative to all the proprietary and open-core git hosting platforms out there and I use it for all my projects but there is a long way ahead for gitea to become a good alternative from a business pov. Teams need more tools to collaborate and a analytics system would definitely be a good selling point.

Suggestions

  • Profile
    • A graph to show what your contributions actually are (50% Code Review, 25% Commits, 15% Issues, 10% PRs).
    • All-time stats (Total number of commits: 1,7k, PRs: 146, Languages used: 57% Java, 15% C++. etc.)
    • A drop down menu to select the year to show in the contribution heatmap
    • For further ideas have a look into this awesome looking gh profile https://github.com/marcosbarker
  • Repositories
    • Commit statistics
      • Commits over time (per Year/Month/Day of the month/Day of the Week/Hour)
      • Amount of commits per user
    • Issue statistics
      • Issues created and closed over time (per Year/Month/Day of the month/Day of the Week/Hour)
    • PR statistics
      • PRs created and closed over time (per Year/Month/Day of the month/Day of the Week/Hour)
      • List of PRs with following stats (maybe also graphical):
        • Additons/Deletions
        • Time from opening to closing
        • Number of Contributors/Reviewers
        • Number of Commits
        • Number of Comments
    • [OPTIONAL] Feature Life Cycle: From the creation of an issue over the commits on a related branch to a PR until it has merged. In which state does a feature last how much time (where would I need to improve to get faster deployments)

Remark

I know that this feature is beyond the scope of an issues. It is rather an entire Milestone but since I am just a user of gitea and not a team member I thought creating an issue would be the right way to start.

Also I would be interested in helping with the development of this system but I thought it would be better to first ask for feedback before I just start implementing my ideas.

Therefore, feel free to share your opinion to help improving gitea.

Metadata

Metadata

Assignees

No one assigned

    Labels

    type/proposalThe new feature has not been accepted yet but needs to be discussed first.type/summaryThis issue aggregates a bunch of other issues

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions