diff options
author | Romain <romdum@users.noreply.github.com> | 2021-10-02 03:32:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-02 03:32:15 +0200 |
commit | c64e2a319fcbff2dc2f5d5d62570928394c89d08 (patch) | |
tree | 547678c6b5d626fddaeb82df76cd091149491756 /models/statistic.go | |
parent | 5b2b2cf92365670d6f47a3a307e2f8715b30de7f (diff) | |
download | gitea-c64e2a319fcbff2dc2f5d5d62570928394c89d08.tar.gz gitea-c64e2a319fcbff2dc2f5d5d62570928394c89d08.zip |
Add projects and project boards in exposed metrics (#17202)
* Add projects and project boards in exposed metrics
* Refactor db.GetEngine
Co-authored-by: delvh <dev.lh@web.de>
Diffstat (limited to 'models/statistic.go')
-rw-r--r-- | models/statistic.go | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/models/statistic.go b/models/statistic.go index 43b1afbc48..1fdcc44a6f 100644 --- a/models/statistic.go +++ b/models/statistic.go @@ -18,20 +18,22 @@ type Statistic struct { Comment, Oauth, Follow, Mirror, Release, LoginSource, Webhook, Milestone, Label, HookTask, - Team, UpdateTask, Attachment int64 + Team, UpdateTask, Project, + ProjectBoard, Attachment int64 } } // GetStatistic returns the database statistics func GetStatistic() (stats Statistic) { + e := db.GetEngine(db.DefaultContext) stats.Counter.User = CountUsers() stats.Counter.Org = CountOrganizations() - stats.Counter.PublicKey, _ = db.GetEngine(db.DefaultContext).Count(new(PublicKey)) + stats.Counter.PublicKey, _ = e.Count(new(PublicKey)) stats.Counter.Repo = CountRepositories(true) - stats.Counter.Watch, _ = db.GetEngine(db.DefaultContext).Count(new(Watch)) - stats.Counter.Star, _ = db.GetEngine(db.DefaultContext).Count(new(Star)) - stats.Counter.Action, _ = db.GetEngine(db.DefaultContext).Count(new(Action)) - stats.Counter.Access, _ = db.GetEngine(db.DefaultContext).Count(new(Access)) + stats.Counter.Watch, _ = e.Count(new(Watch)) + stats.Counter.Star, _ = e.Count(new(Star)) + stats.Counter.Action, _ = e.Count(new(Action)) + stats.Counter.Access, _ = e.Count(new(Access)) type IssueCount struct { Count int64 @@ -39,7 +41,7 @@ func GetStatistic() (stats Statistic) { } issueCounts := []IssueCount{} - _ = db.GetEngine(db.DefaultContext).Select("COUNT(*) AS count, is_closed").Table("issue").GroupBy("is_closed").Find(&issueCounts) + _ = e.Select("COUNT(*) AS count, is_closed").Table("issue").GroupBy("is_closed").Find(&issueCounts) for _, c := range issueCounts { if c.IsClosed { stats.Counter.IssueClosed = c.Count @@ -50,17 +52,19 @@ func GetStatistic() (stats Statistic) { stats.Counter.Issue = stats.Counter.IssueClosed + stats.Counter.IssueOpen - stats.Counter.Comment, _ = db.GetEngine(db.DefaultContext).Count(new(Comment)) + stats.Counter.Comment, _ = e.Count(new(Comment)) stats.Counter.Oauth = 0 - stats.Counter.Follow, _ = db.GetEngine(db.DefaultContext).Count(new(Follow)) - stats.Counter.Mirror, _ = db.GetEngine(db.DefaultContext).Count(new(Mirror)) - stats.Counter.Release, _ = db.GetEngine(db.DefaultContext).Count(new(Release)) + stats.Counter.Follow, _ = e.Count(new(Follow)) + stats.Counter.Mirror, _ = e.Count(new(Mirror)) + stats.Counter.Release, _ = e.Count(new(Release)) stats.Counter.LoginSource = login.CountSources() - stats.Counter.Webhook, _ = db.GetEngine(db.DefaultContext).Count(new(Webhook)) - stats.Counter.Milestone, _ = db.GetEngine(db.DefaultContext).Count(new(Milestone)) - stats.Counter.Label, _ = db.GetEngine(db.DefaultContext).Count(new(Label)) - stats.Counter.HookTask, _ = db.GetEngine(db.DefaultContext).Count(new(HookTask)) - stats.Counter.Team, _ = db.GetEngine(db.DefaultContext).Count(new(Team)) - stats.Counter.Attachment, _ = db.GetEngine(db.DefaultContext).Count(new(Attachment)) + stats.Counter.Webhook, _ = e.Count(new(Webhook)) + stats.Counter.Milestone, _ = e.Count(new(Milestone)) + stats.Counter.Label, _ = e.Count(new(Label)) + stats.Counter.HookTask, _ = e.Count(new(HookTask)) + stats.Counter.Team, _ = e.Count(new(Team)) + stats.Counter.Attachment, _ = e.Count(new(Attachment)) + stats.Counter.Project, _ = e.Count(new(Project)) + stats.Counter.ProjectBoard, _ = e.Count(new(ProjectBoard)) return } |