Skip to content

Commit d18d399

Browse files
committed
Metrics: Add X-Ratelimit-Reset as metric
1 parent 10667f9 commit d18d399

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

githubapp/middleware.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const (
3535
MetricsKeyRateLimit = "github.rate.limit"
3636
MetricsKeyRateLimitRemaining = "github.rate.remaining"
3737
MetricsKeyRateLimitUsed = "github.rate.used"
38+
MetricsKeyRateLimitReset = "github.rate.reset"
3839
)
3940

4041
// ClientMetrics creates client middleware that records metrics about all
@@ -75,12 +76,14 @@ func ClientMetrics(registry metrics.Registry) ClientMiddleware {
7576
limitMetric := fmt.Sprintf("%s[installation:%d]", MetricsKeyRateLimit, installationID)
7677
remainingMetric := fmt.Sprintf("%s[installation:%d]", MetricsKeyRateLimitRemaining, installationID)
7778
usedMetric := fmt.Sprintf("%s[installation:%d]", MetricsKeyRateLimitUsed, installationID)
79+
resetMetric := fmt.Sprintf("%s[installation:%d]", MetricsKeyRateLimitReset, installationID)
7880

7981
// Headers from https://developer.github.com/v3/#rate-limiting
8082
updateRegistryForHeader(res.Header, httpHeaderRateLimit, metrics.GetOrRegisterGauge(limitMetric, registry))
8183
updateRegistryForHeader(res.Header, httpHeaderRateRemaining, metrics.GetOrRegisterGauge(remainingMetric, registry))
8284
updateRegistryForHeader(res.Header, httpHeaderRateUsed, metrics.GetOrRegisterGauge(usedMetric, registry))
83-
// TODO Think about to add X-Ratelimit-Reset and X-Ratelimit-Resource as well
85+
updateRegistryForHeader(res.Header, httpHeaderRateReset, metrics.GetOrRegisterGauge(resetMetric, registry))
86+
// TODO Think about to add X-Ratelimit-Resource as well
8487
}
8588

8689
return res, err

0 commit comments

Comments
 (0)