2018-11-05 11:20:00 +08:00
|
|
|
// Copyright 2018 The Gitea Authors. All rights reserved.
|
2022-11-28 02:20:29 +08:00
|
|
|
// SPDX-License-Identifier: MIT
|
2018-11-05 11:20:00 +08:00
|
|
|
|
|
|
|
package metrics
|
|
|
|
|
|
|
|
import (
|
include build info in Prometheus metrics (#22819)
Related to: https://github.com/go-gitea/gitea/issues/18061
This PR adds build info to the Prometheus metrics. This includes:
- goarch: https://pkg.go.dev/runtime#GOARCH
- goos: https://pkg.go.dev/runtime#pkg-constants
- goversion: https://pkg.go.dev/runtime#Version
- gitea version: just exposes the existing
code.gitea.io/gitea/modules/setting.AppVer
It's a similar approach to what some other Golang projects are doing,
e.g. Prometheus:
https://github.com/prometheus/common/blob/main/version/info.go
example /metrics response from Prometheus:
```
# HELP prometheus_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which prometheus was built, and the goos and goarch for the build.
# TYPE prometheus_build_info gauge
prometheus_build_info{branch="HEAD",goarch="amd64",goos="linux",goversion="go1.19.4",revision="c0d8a56c69014279464c0e15d8bfb0e153af0dab",version="2.41.0"} 1
```
/metrics response from gitea with this PR:
```
# HELP gitea_build_info Build information
# TYPE gitea_build_info gauge
gitea_build_info{goarch="amd64",goos="linux",goversion="go1.20",version="2c6cc0b8c"} 1
```
Signed-off-by: Michal Wasilewski <mwasilewski@gmx.com>
<!--
Please check the following:
1. Make sure you are targeting the `main` branch, pull requests on
release branches are only allowed for bug fixes.
2. Read contributing guidelines:
https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md
3. Describe what your pull request does and which issue you're targeting
(if any)
-->
Signed-off-by: Michal Wasilewski <mwasilewski@gmx.com>
2023-02-09 01:54:01 +08:00
|
|
|
"runtime"
|
|
|
|
|
2022-08-25 10:31:57 +08:00
|
|
|
activities_model "code.gitea.io/gitea/models/activities"
|
2023-09-15 01:09:32 +08:00
|
|
|
"code.gitea.io/gitea/models/db"
|
include build info in Prometheus metrics (#22819)
Related to: https://github.com/go-gitea/gitea/issues/18061
This PR adds build info to the Prometheus metrics. This includes:
- goarch: https://pkg.go.dev/runtime#GOARCH
- goos: https://pkg.go.dev/runtime#pkg-constants
- goversion: https://pkg.go.dev/runtime#Version
- gitea version: just exposes the existing
code.gitea.io/gitea/modules/setting.AppVer
It's a similar approach to what some other Golang projects are doing,
e.g. Prometheus:
https://github.com/prometheus/common/blob/main/version/info.go
example /metrics response from Prometheus:
```
# HELP prometheus_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which prometheus was built, and the goos and goarch for the build.
# TYPE prometheus_build_info gauge
prometheus_build_info{branch="HEAD",goarch="amd64",goos="linux",goversion="go1.19.4",revision="c0d8a56c69014279464c0e15d8bfb0e153af0dab",version="2.41.0"} 1
```
/metrics response from gitea with this PR:
```
# HELP gitea_build_info Build information
# TYPE gitea_build_info gauge
gitea_build_info{goarch="amd64",goos="linux",goversion="go1.20",version="2c6cc0b8c"} 1
```
Signed-off-by: Michal Wasilewski <mwasilewski@gmx.com>
<!--
Please check the following:
1. Make sure you are targeting the `main` branch, pull requests on
release branches are only allowed for bug fixes.
2. Read contributing guidelines:
https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md
3. Describe what your pull request does and which issue you're targeting
(if any)
-->
Signed-off-by: Michal Wasilewski <mwasilewski@gmx.com>
2023-02-09 01:54:01 +08:00
|
|
|
"code.gitea.io/gitea/modules/setting"
|
2018-11-05 11:20:00 +08:00
|
|
|
|
|
|
|
"github.com/prometheus/client_golang/prometheus"
|
|
|
|
)
|
|
|
|
|
|
|
|
const namespace = "gitea_"
|
|
|
|
|
|
|
|
// Collector implements the prometheus.Collector interface and
|
|
|
|
// exposes gitea metrics for prometheus
|
|
|
|
type Collector struct {
|
2021-10-06 02:39:37 +08:00
|
|
|
Accesses *prometheus.Desc
|
|
|
|
Attachments *prometheus.Desc
|
include build info in Prometheus metrics (#22819)
Related to: https://github.com/go-gitea/gitea/issues/18061
This PR adds build info to the Prometheus metrics. This includes:
- goarch: https://pkg.go.dev/runtime#GOARCH
- goos: https://pkg.go.dev/runtime#pkg-constants
- goversion: https://pkg.go.dev/runtime#Version
- gitea version: just exposes the existing
code.gitea.io/gitea/modules/setting.AppVer
It's a similar approach to what some other Golang projects are doing,
e.g. Prometheus:
https://github.com/prometheus/common/blob/main/version/info.go
example /metrics response from Prometheus:
```
# HELP prometheus_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which prometheus was built, and the goos and goarch for the build.
# TYPE prometheus_build_info gauge
prometheus_build_info{branch="HEAD",goarch="amd64",goos="linux",goversion="go1.19.4",revision="c0d8a56c69014279464c0e15d8bfb0e153af0dab",version="2.41.0"} 1
```
/metrics response from gitea with this PR:
```
# HELP gitea_build_info Build information
# TYPE gitea_build_info gauge
gitea_build_info{goarch="amd64",goos="linux",goversion="go1.20",version="2c6cc0b8c"} 1
```
Signed-off-by: Michal Wasilewski <mwasilewski@gmx.com>
<!--
Please check the following:
1. Make sure you are targeting the `main` branch, pull requests on
release branches are only allowed for bug fixes.
2. Read contributing guidelines:
https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md
3. Describe what your pull request does and which issue you're targeting
(if any)
-->
Signed-off-by: Michal Wasilewski <mwasilewski@gmx.com>
2023-02-09 01:54:01 +08:00
|
|
|
BuildInfo *prometheus.Desc
|
2021-10-06 02:39:37 +08:00
|
|
|
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
|
2024-05-27 16:59:54 +08:00
|
|
|
ProjectColumns *prometheus.Desc
|
2021-10-06 02:39:37 +08:00
|
|
|
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
|
2018-11-05 11:20:00 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
// NewCollector returns a new Collector with all prometheus.Desc initialized
|
|
|
|
func NewCollector() Collector {
|
|
|
|
return Collector{
|
|
|
|
Accesses: prometheus.NewDesc(
|
|
|
|
namespace+"accesses",
|
|
|
|
"Number of Accesses",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
Attachments: prometheus.NewDesc(
|
|
|
|
namespace+"attachments",
|
|
|
|
"Number of Attachments",
|
|
|
|
nil, nil,
|
|
|
|
),
|
include build info in Prometheus metrics (#22819)
Related to: https://github.com/go-gitea/gitea/issues/18061
This PR adds build info to the Prometheus metrics. This includes:
- goarch: https://pkg.go.dev/runtime#GOARCH
- goos: https://pkg.go.dev/runtime#pkg-constants
- goversion: https://pkg.go.dev/runtime#Version
- gitea version: just exposes the existing
code.gitea.io/gitea/modules/setting.AppVer
It's a similar approach to what some other Golang projects are doing,
e.g. Prometheus:
https://github.com/prometheus/common/blob/main/version/info.go
example /metrics response from Prometheus:
```
# HELP prometheus_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which prometheus was built, and the goos and goarch for the build.
# TYPE prometheus_build_info gauge
prometheus_build_info{branch="HEAD",goarch="amd64",goos="linux",goversion="go1.19.4",revision="c0d8a56c69014279464c0e15d8bfb0e153af0dab",version="2.41.0"} 1
```
/metrics response from gitea with this PR:
```
# HELP gitea_build_info Build information
# TYPE gitea_build_info gauge
gitea_build_info{goarch="amd64",goos="linux",goversion="go1.20",version="2c6cc0b8c"} 1
```
Signed-off-by: Michal Wasilewski <mwasilewski@gmx.com>
<!--
Please check the following:
1. Make sure you are targeting the `main` branch, pull requests on
release branches are only allowed for bug fixes.
2. Read contributing guidelines:
https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md
3. Describe what your pull request does and which issue you're targeting
(if any)
-->
Signed-off-by: Michal Wasilewski <mwasilewski@gmx.com>
2023-02-09 01:54:01 +08:00
|
|
|
BuildInfo: prometheus.NewDesc(
|
|
|
|
namespace+"build_info",
|
|
|
|
"Build information",
|
|
|
|
[]string{
|
|
|
|
"goarch",
|
|
|
|
"goos",
|
|
|
|
"goversion",
|
|
|
|
"version",
|
|
|
|
}, nil,
|
|
|
|
),
|
2018-11-05 11:20:00 +08:00
|
|
|
Comments: prometheus.NewDesc(
|
|
|
|
namespace+"comments",
|
|
|
|
"Number of Comments",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
Follows: prometheus.NewDesc(
|
|
|
|
namespace+"follows",
|
|
|
|
"Number of Follows",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
HookTasks: prometheus.NewDesc(
|
|
|
|
namespace+"hooktasks",
|
|
|
|
"Number of HookTasks",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
Issues: prometheus.NewDesc(
|
|
|
|
namespace+"issues",
|
|
|
|
"Number of Issues",
|
|
|
|
nil, nil,
|
|
|
|
),
|
2021-10-04 06:46:44 +08:00
|
|
|
IssuesByLabel: prometheus.NewDesc(
|
|
|
|
namespace+"issues_by_label",
|
|
|
|
"Number of Issues",
|
|
|
|
[]string{"label"}, nil,
|
|
|
|
),
|
2021-10-06 02:39:37 +08:00
|
|
|
IssuesByRepository: prometheus.NewDesc(
|
|
|
|
namespace+"issues_by_repository",
|
|
|
|
"Number of Issues",
|
|
|
|
[]string{"repository"}, nil,
|
|
|
|
),
|
2021-08-07 17:43:50 +08:00
|
|
|
IssuesOpen: prometheus.NewDesc(
|
|
|
|
namespace+"issues_open",
|
|
|
|
"Number of open Issues",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
IssuesClosed: prometheus.NewDesc(
|
|
|
|
namespace+"issues_closed",
|
|
|
|
"Number of closed Issues",
|
|
|
|
nil, nil,
|
|
|
|
),
|
2018-11-05 11:20:00 +08:00
|
|
|
Labels: prometheus.NewDesc(
|
|
|
|
namespace+"labels",
|
|
|
|
"Number of Labels",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
LoginSources: prometheus.NewDesc(
|
|
|
|
namespace+"loginsources",
|
|
|
|
"Number of LoginSources",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
Milestones: prometheus.NewDesc(
|
|
|
|
namespace+"milestones",
|
|
|
|
"Number of Milestones",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
Mirrors: prometheus.NewDesc(
|
|
|
|
namespace+"mirrors",
|
|
|
|
"Number of Mirrors",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
Oauths: prometheus.NewDesc(
|
|
|
|
namespace+"oauths",
|
|
|
|
"Number of Oauths",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
Organizations: prometheus.NewDesc(
|
|
|
|
namespace+"organizations",
|
|
|
|
"Number of Organizations",
|
|
|
|
nil, nil,
|
|
|
|
),
|
2021-10-02 09:32:15 +08:00
|
|
|
Projects: prometheus.NewDesc(
|
|
|
|
namespace+"projects",
|
|
|
|
"Number of projects",
|
|
|
|
nil, nil,
|
|
|
|
),
|
2024-05-27 16:59:54 +08:00
|
|
|
ProjectColumns: prometheus.NewDesc(
|
|
|
|
namespace+"projects_boards", // TODO: change the key name will affect the consume's result history
|
|
|
|
"Number of project columns",
|
2021-10-02 09:32:15 +08:00
|
|
|
nil, nil,
|
|
|
|
),
|
2018-11-05 11:20:00 +08:00
|
|
|
PublicKeys: prometheus.NewDesc(
|
|
|
|
namespace+"publickeys",
|
|
|
|
"Number of PublicKeys",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
Releases: prometheus.NewDesc(
|
|
|
|
namespace+"releases",
|
|
|
|
"Number of Releases",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
Repositories: prometheus.NewDesc(
|
|
|
|
namespace+"repositories",
|
|
|
|
"Number of Repositories",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
Stars: prometheus.NewDesc(
|
|
|
|
namespace+"stars",
|
|
|
|
"Number of Stars",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
Teams: prometheus.NewDesc(
|
|
|
|
namespace+"teams",
|
|
|
|
"Number of Teams",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
UpdateTasks: prometheus.NewDesc(
|
|
|
|
namespace+"updatetasks",
|
|
|
|
"Number of UpdateTasks",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
Users: prometheus.NewDesc(
|
|
|
|
namespace+"users",
|
|
|
|
"Number of Users",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
Watches: prometheus.NewDesc(
|
|
|
|
namespace+"watches",
|
|
|
|
"Number of Watches",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
Webhooks: prometheus.NewDesc(
|
|
|
|
namespace+"webhooks",
|
|
|
|
"Number of Webhooks",
|
|
|
|
nil, nil,
|
|
|
|
),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Describe returns all possible prometheus.Desc
|
|
|
|
func (c Collector) Describe(ch chan<- *prometheus.Desc) {
|
|
|
|
ch <- c.Accesses
|
|
|
|
ch <- c.Attachments
|
include build info in Prometheus metrics (#22819)
Related to: https://github.com/go-gitea/gitea/issues/18061
This PR adds build info to the Prometheus metrics. This includes:
- goarch: https://pkg.go.dev/runtime#GOARCH
- goos: https://pkg.go.dev/runtime#pkg-constants
- goversion: https://pkg.go.dev/runtime#Version
- gitea version: just exposes the existing
code.gitea.io/gitea/modules/setting.AppVer
It's a similar approach to what some other Golang projects are doing,
e.g. Prometheus:
https://github.com/prometheus/common/blob/main/version/info.go
example /metrics response from Prometheus:
```
# HELP prometheus_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which prometheus was built, and the goos and goarch for the build.
# TYPE prometheus_build_info gauge
prometheus_build_info{branch="HEAD",goarch="amd64",goos="linux",goversion="go1.19.4",revision="c0d8a56c69014279464c0e15d8bfb0e153af0dab",version="2.41.0"} 1
```
/metrics response from gitea with this PR:
```
# HELP gitea_build_info Build information
# TYPE gitea_build_info gauge
gitea_build_info{goarch="amd64",goos="linux",goversion="go1.20",version="2c6cc0b8c"} 1
```
Signed-off-by: Michal Wasilewski <mwasilewski@gmx.com>
<!--
Please check the following:
1. Make sure you are targeting the `main` branch, pull requests on
release branches are only allowed for bug fixes.
2. Read contributing guidelines:
https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md
3. Describe what your pull request does and which issue you're targeting
(if any)
-->
Signed-off-by: Michal Wasilewski <mwasilewski@gmx.com>
2023-02-09 01:54:01 +08:00
|
|
|
ch <- c.BuildInfo
|
2018-11-05 11:20:00 +08:00
|
|
|
ch <- c.Comments
|
|
|
|
ch <- c.Follows
|
|
|
|
ch <- c.HookTasks
|
|
|
|
ch <- c.Issues
|
2021-10-04 06:46:44 +08:00
|
|
|
ch <- c.IssuesByLabel
|
2021-10-06 02:39:37 +08:00
|
|
|
ch <- c.IssuesByRepository
|
2021-08-07 17:43:50 +08:00
|
|
|
ch <- c.IssuesOpen
|
|
|
|
ch <- c.IssuesClosed
|
2018-11-05 11:20:00 +08:00
|
|
|
ch <- c.Labels
|
|
|
|
ch <- c.LoginSources
|
|
|
|
ch <- c.Milestones
|
|
|
|
ch <- c.Mirrors
|
|
|
|
ch <- c.Oauths
|
|
|
|
ch <- c.Organizations
|
2021-10-02 09:32:15 +08:00
|
|
|
ch <- c.Projects
|
2024-05-27 16:59:54 +08:00
|
|
|
ch <- c.ProjectColumns
|
2018-11-05 11:20:00 +08:00
|
|
|
ch <- c.PublicKeys
|
|
|
|
ch <- c.Releases
|
|
|
|
ch <- c.Repositories
|
|
|
|
ch <- c.Stars
|
|
|
|
ch <- c.Teams
|
|
|
|
ch <- c.UpdateTasks
|
|
|
|
ch <- c.Users
|
|
|
|
ch <- c.Watches
|
|
|
|
ch <- c.Webhooks
|
|
|
|
}
|
|
|
|
|
|
|
|
// Collect returns the metrics with values
|
|
|
|
func (c Collector) Collect(ch chan<- prometheus.Metric) {
|
2023-09-15 01:09:32 +08:00
|
|
|
stats := activities_model.GetStatistic(db.DefaultContext)
|
2018-11-05 11:20:00 +08:00
|
|
|
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Accesses,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Access),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Attachments,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Attachment),
|
|
|
|
)
|
include build info in Prometheus metrics (#22819)
Related to: https://github.com/go-gitea/gitea/issues/18061
This PR adds build info to the Prometheus metrics. This includes:
- goarch: https://pkg.go.dev/runtime#GOARCH
- goos: https://pkg.go.dev/runtime#pkg-constants
- goversion: https://pkg.go.dev/runtime#Version
- gitea version: just exposes the existing
code.gitea.io/gitea/modules/setting.AppVer
It's a similar approach to what some other Golang projects are doing,
e.g. Prometheus:
https://github.com/prometheus/common/blob/main/version/info.go
example /metrics response from Prometheus:
```
# HELP prometheus_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which prometheus was built, and the goos and goarch for the build.
# TYPE prometheus_build_info gauge
prometheus_build_info{branch="HEAD",goarch="amd64",goos="linux",goversion="go1.19.4",revision="c0d8a56c69014279464c0e15d8bfb0e153af0dab",version="2.41.0"} 1
```
/metrics response from gitea with this PR:
```
# HELP gitea_build_info Build information
# TYPE gitea_build_info gauge
gitea_build_info{goarch="amd64",goos="linux",goversion="go1.20",version="2c6cc0b8c"} 1
```
Signed-off-by: Michal Wasilewski <mwasilewski@gmx.com>
<!--
Please check the following:
1. Make sure you are targeting the `main` branch, pull requests on
release branches are only allowed for bug fixes.
2. Read contributing guidelines:
https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md
3. Describe what your pull request does and which issue you're targeting
(if any)
-->
Signed-off-by: Michal Wasilewski <mwasilewski@gmx.com>
2023-02-09 01:54:01 +08:00
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.BuildInfo,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
1,
|
|
|
|
runtime.GOARCH,
|
|
|
|
runtime.GOOS,
|
|
|
|
runtime.Version(),
|
|
|
|
setting.AppVer,
|
|
|
|
)
|
2018-11-05 11:20:00 +08:00
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Comments,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Comment),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Follows,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Follow),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.HookTasks,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.HookTask),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Issues,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Issue),
|
|
|
|
)
|
2021-10-04 06:46:44 +08:00
|
|
|
for _, il := range stats.Counter.IssueByLabel {
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.IssuesByLabel,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(il.Count),
|
|
|
|
il.Label,
|
|
|
|
)
|
|
|
|
}
|
2021-10-06 02:39:37 +08:00
|
|
|
for _, ir := range stats.Counter.IssueByRepository {
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.IssuesByRepository,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(ir.Count),
|
|
|
|
ir.OwnerName+"/"+ir.Repository,
|
|
|
|
)
|
|
|
|
}
|
2021-08-07 17:43:50 +08:00
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.IssuesClosed,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.IssueClosed),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.IssuesOpen,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.IssueOpen),
|
|
|
|
)
|
2018-11-05 11:20:00 +08:00
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Labels,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Label),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.LoginSources,
|
|
|
|
prometheus.GaugeValue,
|
2022-01-02 21:12:35 +08:00
|
|
|
float64(stats.Counter.AuthSource),
|
2018-11-05 11:20:00 +08:00
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Milestones,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Milestone),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Mirrors,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Mirror),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Oauths,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Oauth),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Organizations,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Org),
|
2021-10-02 09:32:15 +08:00
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Projects,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Project),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
2024-05-27 16:59:54 +08:00
|
|
|
c.ProjectColumns,
|
2021-10-02 09:32:15 +08:00
|
|
|
prometheus.GaugeValue,
|
2024-05-27 16:59:54 +08:00
|
|
|
float64(stats.Counter.ProjectColumn),
|
2018-11-05 11:20:00 +08:00
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.PublicKeys,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.PublicKey),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Releases,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Release),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Repositories,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Repo),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Stars,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Star),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Teams,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Team),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.UpdateTasks,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.UpdateTask),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Users,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.User),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Watches,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Watch),
|
|
|
|
)
|
|
|
|
ch <- prometheus.MustNewConstMetric(
|
|
|
|
c.Webhooks,
|
|
|
|
prometheus.GaugeValue,
|
|
|
|
float64(stats.Counter.Webhook),
|
|
|
|
)
|
|
|
|
}
|