mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 02:09:56 +00:00
Merge pull request #10889 from cjcullen/tokenMetrics
Add prometheus metrics for altTokenSource.
This commit is contained in:
commit
f427b997ca
@ -24,6 +24,7 @@ import (
|
|||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
|
||||||
|
|
||||||
"code.google.com/p/google-api-go-client/googleapi"
|
"code.google.com/p/google-api-go-client/googleapi"
|
||||||
|
"github.com/prometheus/client_golang/prometheus"
|
||||||
"golang.org/x/oauth2"
|
"golang.org/x/oauth2"
|
||||||
"golang.org/x/oauth2/google"
|
"golang.org/x/oauth2/google"
|
||||||
)
|
)
|
||||||
@ -35,6 +36,26 @@ const (
|
|||||||
tokenURLBurst = 3
|
tokenURLBurst = 3
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
getTokenCounter = prometheus.NewCounter(
|
||||||
|
prometheus.CounterOpts{
|
||||||
|
Name: "get_token_count",
|
||||||
|
Help: "Counter of total Token() requests to the alternate token source",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
getTokenFailCounter = prometheus.NewCounter(
|
||||||
|
prometheus.CounterOpts{
|
||||||
|
Name: "get_token_fail_count",
|
||||||
|
Help: "Counter of failed Token() requests to the alternate token source",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
prometheus.MustRegister(getTokenCounter)
|
||||||
|
prometheus.MustRegister(getTokenFailCounter)
|
||||||
|
}
|
||||||
|
|
||||||
type altTokenSource struct {
|
type altTokenSource struct {
|
||||||
oauthClient *http.Client
|
oauthClient *http.Client
|
||||||
tokenURL string
|
tokenURL string
|
||||||
@ -43,6 +64,15 @@ type altTokenSource struct {
|
|||||||
|
|
||||||
func (a *altTokenSource) Token() (*oauth2.Token, error) {
|
func (a *altTokenSource) Token() (*oauth2.Token, error) {
|
||||||
a.throttle.Accept()
|
a.throttle.Accept()
|
||||||
|
getTokenCounter.Inc()
|
||||||
|
t, err := a.token()
|
||||||
|
if err != nil {
|
||||||
|
getTokenFailCounter.Inc()
|
||||||
|
}
|
||||||
|
return t, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (a *altTokenSource) token() (*oauth2.Token, error) {
|
||||||
req, err := http.NewRequest("GET", a.tokenURL, nil)
|
req, err := http.NewRequest("GET", a.tokenURL, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
Loading…
Reference in New Issue
Block a user