Skip to content

Commit 23ac198

Browse files
authored
add actions_total_minutes_used_by_host_minutes metric (#75)
Signed-off-by: cpanato <[email protected]>
1 parent 9ee4f62 commit 23ac198

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed

internal/server/billing_metrics_exporter.go

+12
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,12 @@ func (c *BillingMetricsExporter) collectOrgBilling(ctx context.Context) {
9292
totalMinutesUsedActions.WithLabelValues(c.Opts.GitHubOrg, "").Set(actionsBilling.TotalMinutesUsed)
9393
includedMinutesUsedActions.WithLabelValues(c.Opts.GitHubOrg, "").Set(actionsBilling.IncludedMinutes)
9494
totalPaidMinutesActions.WithLabelValues(c.Opts.GitHubOrg, "").Set(actionsBilling.TotalPaidMinutesUsed)
95+
96+
for host, minutes := range actionsBilling.MinutesUsedBreakdown {
97+
totalMinutesUsedByHostTypeActions.WithLabelValues(c.Opts.GitHubOrg, "", host).Set(float64(minutes))
98+
}
99+
100+
// TODO: deprecate
95101
totalMinutesUsedUbuntuActions.WithLabelValues(c.Opts.GitHubOrg, "").Set(float64(actionsBilling.MinutesUsedBreakdown["UBUNTU"]))
96102
totalMinutesUsedMacOSActions.WithLabelValues(c.Opts.GitHubOrg, "").Set(float64(actionsBilling.MinutesUsedBreakdown["MACOS"]))
97103
totalMinutesUsedWindowsActions.WithLabelValues(c.Opts.GitHubOrg, "").Set(float64(actionsBilling.MinutesUsedBreakdown["WINDOWS"]))
@@ -107,6 +113,12 @@ func (c *BillingMetricsExporter) collectUserBilling(ctx context.Context) {
107113
totalMinutesUsedActions.WithLabelValues("", c.Opts.GitHubUser).Set(actionsBilling.TotalMinutesUsed)
108114
includedMinutesUsedActions.WithLabelValues("", c.Opts.GitHubUser).Set(actionsBilling.IncludedMinutes)
109115
totalPaidMinutesActions.WithLabelValues("", c.Opts.GitHubUser).Set(actionsBilling.TotalPaidMinutesUsed)
116+
117+
for host, minutes := range actionsBilling.MinutesUsedBreakdown {
118+
totalMinutesUsedByHostTypeActions.WithLabelValues("", c.Opts.GitHubUser, host).Set(float64(minutes))
119+
}
120+
121+
// TODO: deprecate
110122
totalMinutesUsedUbuntuActions.WithLabelValues("", c.Opts.GitHubUser).Set(float64(actionsBilling.MinutesUsedBreakdown["UBUNTU"]))
111123
totalMinutesUsedMacOSActions.WithLabelValues("", c.Opts.GitHubUser).Set(float64(actionsBilling.MinutesUsedBreakdown["MACOS"]))
112124
totalMinutesUsedWindowsActions.WithLabelValues("", c.Opts.GitHubUser).Set(float64(actionsBilling.MinutesUsedBreakdown["WINDOWS"]))

internal/server/metrics.go

+11-3
Original file line numberDiff line numberDiff line change
@@ -63,24 +63,31 @@ var (
6363

6464
totalMinutesUsedUbuntuActions = prometheus.NewGaugeVec(prometheus.GaugeOpts{
6565
Name: "actions_total_minutes_used_ubuntu_minutes",
66-
Help: "Total minutes used for Ubuntu type for the GitHub Actions.",
66+
Help: "Total minutes used for Ubuntu type for the GitHub Actions. To be deprecate, use actions_total_minutes_used_by_host_minutes",
6767
},
6868
[]string{"org", "user"},
6969
)
7070

7171
totalMinutesUsedMacOSActions = prometheus.NewGaugeVec(prometheus.GaugeOpts{
7272
Name: "actions_total_minutes_used_macos_minutes",
73-
Help: "Total minutes used for MacOS type for the GitHub Actions.",
73+
Help: "Total minutes used for MacOS type for the GitHub Actions. To be deprecate, use actions_total_minutes_used_by_host_minutes",
7474
},
7575
[]string{"org", "user"},
7676
)
7777

7878
totalMinutesUsedWindowsActions = prometheus.NewGaugeVec(prometheus.GaugeOpts{
7979
Name: "actions_total_minutes_used_windows_minutes",
80-
Help: "Total minutes used for Windows type for the GitHub Actions.",
80+
Help: "Total minutes used for Windows type for the GitHub Actions. To be deprecate, use actions_total_minutes_used_by_host_minutes",
8181
},
8282
[]string{"org", "user"},
8383
)
84+
85+
totalMinutesUsedByHostTypeActions = prometheus.NewGaugeVec(prometheus.GaugeOpts{
86+
Name: "actions_total_minutes_used_by_host_minutes",
87+
Help: "Total minutes used for a specific host type for the GitHub Actions.",
88+
},
89+
[]string{"org", "user", "host_type"},
90+
)
8491
)
8592

8693
func init() {
@@ -96,6 +103,7 @@ func init() {
96103
prometheus.MustRegister(totalMinutesUsedUbuntuActions)
97104
prometheus.MustRegister(totalMinutesUsedMacOSActions)
98105
prometheus.MustRegister(totalMinutesUsedWindowsActions)
106+
prometheus.MustRegister(totalMinutesUsedByHostTypeActions)
99107
}
100108

101109
type WorkflowObserver interface {

0 commit comments

Comments
 (0)