in commands/builds_helper.go [451:514]
func (b *buildsHelper) Collect(ch chan<- prometheus.Metric) {
builds := b.statesAndStages()
for state, count := range builds {
ch <- prometheus.MustNewConstMetric(
numBuildsDesc,
prometheus.GaugeValue,
float64(count),
state.runner,
state.systemID,
string(state.buildState),
string(state.buildStage),
string(state.executorStage),
)
}
counters := b.runnersCounters()
for runner, counter := range counters {
ch <- prometheus.MustNewConstMetric(
requestConcurrencyDesc,
prometheus.GaugeValue,
float64(counter.requests),
runner,
counter.systemID,
)
ch <- prometheus.MustNewConstMetric(
requestConcurrencyExceededDesc,
prometheus.CounterValue,
float64(counter.requestConcurrencyExceeded),
runner,
counter.systemID,
)
ch <- prometheus.MustNewConstMetric(
requestConcurrencyHardLimitDesc,
prometheus.GaugeValue,
float64(counter.hardConcurrencyLimit),
runner,
counter.systemID,
)
ch <- prometheus.MustNewConstMetric(
requestConcurrencyAdaptiveLimitDesc,
prometheus.GaugeValue,
counter.adaptiveConcurrencyLimit,
runner,
counter.systemID,
)
ch <- prometheus.MustNewConstMetric(
requestConcurrencyUsedLimitDesc,
prometheus.GaugeValue,
float64(counter.usedConcurrencyLimit),
runner,
counter.systemID,
)
}
b.jobsTotal.Collect(ch)
b.jobDurationHistogram.Collect(ch)
b.jobQueueDurationHistogram.Collect(ch)
b.acceptableJobQueuingDurationExceeded.Collect(ch)
b.jobStagesDurationHistogram.Collect(ch)
}