Add metrics to get issues by repository (#17225)

This commit is contained in:
Romain 2021-10-05 20:39:37 +02:00 committed by GitHub
parent 760d61b411
commit 987152ba40
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 73 additions and 35 deletions

View file

@ -15,33 +15,34 @@ const namespace = "gitea_"
// Collector implements the prometheus.Collector interface and
// exposes gitea metrics for prometheus
type Collector struct {
Accesses *prometheus.Desc
Actions *prometheus.Desc
Attachments *prometheus.Desc
Comments *prometheus.Desc
Follows *prometheus.Desc
HookTasks *prometheus.Desc
Issues *prometheus.Desc
IssuesOpen *prometheus.Desc
IssuesClosed *prometheus.Desc
IssuesByLabel *prometheus.Desc
Labels *prometheus.Desc
LoginSources *prometheus.Desc
Milestones *prometheus.Desc
Mirrors *prometheus.Desc
Oauths *prometheus.Desc
Organizations *prometheus.Desc
Projects *prometheus.Desc
ProjectBoards *prometheus.Desc
PublicKeys *prometheus.Desc
Releases *prometheus.Desc
Repositories *prometheus.Desc
Stars *prometheus.Desc
Teams *prometheus.Desc
UpdateTasks *prometheus.Desc
Users *prometheus.Desc
Watches *prometheus.Desc
Webhooks *prometheus.Desc
Accesses *prometheus.Desc
Actions *prometheus.Desc
Attachments *prometheus.Desc
Comments *prometheus.Desc
Follows *prometheus.Desc
HookTasks *prometheus.Desc
Issues *prometheus.Desc
IssuesOpen *prometheus.Desc
IssuesClosed *prometheus.Desc
IssuesByLabel *prometheus.Desc
IssuesByRepository *prometheus.Desc
Labels *prometheus.Desc
LoginSources *prometheus.Desc
Milestones *prometheus.Desc
Mirrors *prometheus.Desc
Oauths *prometheus.Desc
Organizations *prometheus.Desc
Projects *prometheus.Desc
ProjectBoards *prometheus.Desc
PublicKeys *prometheus.Desc
Releases *prometheus.Desc
Repositories *prometheus.Desc
Stars *prometheus.Desc
Teams *prometheus.Desc
UpdateTasks *prometheus.Desc
Users *prometheus.Desc
Watches *prometheus.Desc
Webhooks *prometheus.Desc
}
// NewCollector returns a new Collector with all prometheus.Desc initialized
@ -88,6 +89,11 @@ func NewCollector() Collector {
"Number of Issues",
[]string{"label"}, nil,
),
IssuesByRepository: prometheus.NewDesc(
namespace+"issues_by_repository",
"Number of Issues",
[]string{"repository"}, nil,
),
IssuesOpen: prometheus.NewDesc(
namespace+"issues_open",
"Number of open Issues",
@ -196,6 +202,7 @@ func (c Collector) Describe(ch chan<- *prometheus.Desc) {
ch <- c.HookTasks
ch <- c.Issues
ch <- c.IssuesByLabel
ch <- c.IssuesByRepository
ch <- c.IssuesOpen
ch <- c.IssuesClosed
ch <- c.Labels
@ -264,6 +271,14 @@ func (c Collector) Collect(ch chan<- prometheus.Metric) {
il.Label,
)
}
for _, ir := range stats.Counter.IssueByRepository {
ch <- prometheus.MustNewConstMetric(
c.IssuesByRepository,
prometheus.GaugeValue,
float64(ir.Count),
ir.OwnerName+"/"+ir.Repository,
)
}
ch <- prometheus.MustNewConstMetric(
c.IssuesClosed,
prometheus.GaugeValue,