Skip to content

Commit

Permalink
Merge branch 'release/v1.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
moutonjeremy committed Mar 26, 2020
2 parents 816ed23 + aaade58 commit 5ab74d5
Showing 1 changed file with 15 additions and 10 deletions.
25 changes: 15 additions & 10 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,18 @@ import (
"github-actions-exporter/config"
)

var version = "v1.1"
var version = "v1.2"

var (
runners = prometheus.NewGaugeVec(
runnersGauge = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "github_runner_status",
Help: "runner status",
},
[]string{"repo", "os", "status", "name", "id"},
)

jobs = prometheus.NewGaugeVec(
jobsGauge = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "github_job",
Help: "job status",
Expand All @@ -40,6 +40,11 @@ var (
)
)

type runners struct {
TotalCount int `json:"total_count"`
Runners []runner `json:"runners"`
}

type runner struct {
ID int `json:"id"`
Name string `json:"name"`
Expand Down Expand Up @@ -90,16 +95,16 @@ func runWeb(ctx *cli.Context) {

// init prometheus metrics
func init() {
prometheus.MustRegister(runners)
prometheus.MustRegister(jobs)
prometheus.MustRegister(runnersGauge)
prometheus.MustRegister(jobsGauge)
}

func getRunnersFromGithub() {
client := &http.Client{}

for {
for _, repo := range config.Github.Repositories {
var p []runner
var p runners
req, _ := http.NewRequest("GET", "https://api.github.com/repos/"+repo+"/actions/runners", nil)
req.Header.Set("Authorization", "token "+config.Github.Token)
resp, err := client.Do(req)
Expand All @@ -110,11 +115,11 @@ func getRunnersFromGithub() {
if err != nil {
log.Fatal(err)
}
for _, r := range p {
for _, r := range p.Runners {
if r.Status == "online" {
runners.WithLabelValues(repo, r.OS, r.Status, r.Name, strconv.Itoa(r.ID)).Set(1)
runnersGauge.WithLabelValues(repo, r.OS, r.Status, r.Name, strconv.Itoa(r.ID)).Set(1)
} else {
runners.WithLabelValues(repo, r.OS, r.Status, r.Name, strconv.Itoa(r.ID)).Set(0)
runnersGauge.WithLabelValues(repo, r.OS, r.Status, r.Name, strconv.Itoa(r.ID)).Set(0)
}

}
Expand Down Expand Up @@ -151,7 +156,7 @@ func getJobsFromGithub() {
} else if r.Status == "queued" {
s = 4
}
jobs.WithLabelValues(repo, strconv.Itoa(r.ID), r.NodeID, r.HeadBranch, r.HeadSha, strconv.Itoa(r.RunNumber), r.Event, r.Status).Set(s)
jobsGauge.WithLabelValues(repo, strconv.Itoa(r.ID), r.NodeID, r.HeadBranch, r.HeadSha, strconv.Itoa(r.RunNumber), r.Event, r.Status).Set(s)
}
}

Expand Down

0 comments on commit 5ab74d5

Please sign in to comment.