From 1da350a064a9358a45cbe9a82a376f1857dae6ee Mon Sep 17 00:00:00 2001 From: Dougal Matthews Date: Thu, 23 Oct 2025 15:56:56 +0100 Subject: [PATCH] Restore archived label to github_repo_pull_request_count metric --- METRICS.md | 2 +- exporter/metrics.go | 4 ++-- test/github_exporter_test.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/METRICS.md b/METRICS.md index a0e4a1d..eeb4c4e 100644 --- a/METRICS.md +++ b/METRICS.md @@ -32,7 +32,7 @@ github_repo_forks{archived="false",fork="false",language="Go",license="mit",priv github_repo_open_issues{archived="false",fork="false",language="Go",license="mit",private="false",repo="github-exporter",user="githubexporter"} 28 # HELP github_repo_pull_request_count Total number of pull requests for given repository # TYPE github_repo_pull_request_count gauge -github_repo_pull_request_count{repo="github-exporter",user="githubexporter"} 7 +github_repo_pull_request_count{archived="false",fork="false",language="Go",license="mit",private="false",repo="github-exporter",user="githubexporter"} 7 # HELP github_repo_size_kb Size in KB for given repository # TYPE github_repo_size_kb gauge github_repo_size_kb{archived="false",fork="false",language="Go",license="mit",private="false",repo="github-exporter",user="githubexporter"} 2185 diff --git a/exporter/metrics.go b/exporter/metrics.go index 590df9d..68ab696 100644 --- a/exporter/metrics.go +++ b/exporter/metrics.go @@ -40,7 +40,7 @@ func AddMetrics(cfg *config.Config) map[string]*prometheus.Desc { APIMetrics["PullRequestCount"] = prometheus.NewDesc( prometheus.BuildFQName("github", "repo", "pull_request_count"), "Total number of pull requests for given repository", - []string{"repo", "user"}, nil, + []string{"repo", "user", "private", "fork", "archived", "license", "language"}, nil, ) APIMetrics["Watchers"] = prometheus.NewDesc( prometheus.BuildFQName("github", "repo", "watchers"), @@ -115,7 +115,7 @@ func (e *Exporter) processMetrics(data []*Datum, rates *[]RateLimit, ch chan<- p ch <- prometheus.MustNewConstMetric(e.APIMetrics["OpenIssues"], prometheus.GaugeValue, float64(x.OpenIssues-prCount), x.Name, x.Owner.Login, strconv.FormatBool(x.Private), strconv.FormatBool(x.Fork), strconv.FormatBool(x.Archived), x.License.Key, x.Language) // prCount - ch <- prometheus.MustNewConstMetric(e.APIMetrics["PullRequestCount"], prometheus.GaugeValue, float64(prCount), x.Name, x.Owner.Login) + ch <- prometheus.MustNewConstMetric(e.APIMetrics["PullRequestCount"], prometheus.GaugeValue, float64(prCount), x.Name, x.Owner.Login, strconv.FormatBool(x.Private), strconv.FormatBool(x.Fork), strconv.FormatBool(x.Archived), x.License.Key, x.Language) } // Set Rate limit stats diff --git a/test/github_exporter_test.go b/test/github_exporter_test.go index 98a507f..8be8796 100644 --- a/test/github_exporter_test.go +++ b/test/github_exporter_test.go @@ -56,7 +56,7 @@ func TestGithubExporter(t *testing.T) { Assert(bodyContains(`github_rate_reset{resource="integration_manifest"} 3e+09`)). Assert(bodyContains(`github_rate_reset{resource="search"} 3e+09`)). Assert(bodyContains(`github_repo_forks{archived="false",fork="false",language="Go",license="mit",private="false",repo="myRepo",user="myOrg"} 10`)). - Assert(bodyContains(`github_repo_pull_request_count{repo="myRepo",user="myOrg"} 3`)). + Assert(bodyContains(`github_repo_pull_request_count{archived="false",fork="false",language="Go",license="mit",private="false",repo="myRepo",user="myOrg"} 3`)). Assert(bodyContains(`github_repo_open_issues{archived="false",fork="false",language="Go",license="mit",private="false",repo="myRepo",user="myOrg"} 2`)). Assert(bodyContains(`github_repo_size_kb{archived="false",fork="false",language="Go",license="mit",private="false",repo="myRepo",user="myOrg"} 946`)). Assert(bodyContains(`github_repo_stars{archived="false",fork="false",language="Go",license="mit",private="false",repo="myRepo",user="myOrg"} 120`)).