@@ -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