mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-25 11:22:16 +00:00
Add metrics to get issues by repository (#17225)
This commit is contained in:
parent
760d61b411
commit
987152ba40
5 changed files with 73 additions and 35 deletions
|
@ -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,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue