Package metrics provides abstractions for registering which metrics to record.



    This section is empty.


    View Source
    var (
    	// ClientCertExpiry is the expiry time of a client certificate
    	ClientCertExpiry ExpiryMetric = noopExpiry{}
    	// ClientCertRotationAge is the age of a certificate that has just been rotated.
    	ClientCertRotationAge DurationMetric = noopDuration{}
    	// RequestLatency is the latency metric that rest clients will update.
    	RequestLatency LatencyMetric = noopLatency{}
    	// RateLimiterLatency is the client side rate limiter latency metric.
    	RateLimiterLatency LatencyMetric = noopLatency{}
    	// RequestResult is the result metric that rest clients will update.
    	RequestResult ResultMetric = noopResult{}


    func Register

    func Register(opts RegisterOpts)

      Register registers metrics for the rest client to use. This can only be called once.


      type DurationMetric

      type DurationMetric interface {
      	Observe(duration time.Duration)

        DurationMetric is a measurement of some amount of time.

        type ExpiryMetric

        type ExpiryMetric interface {
        	Set(expiry *time.Time)

          ExpiryMetric sets some time of expiry. If nil, assume not relevant.

          type LatencyMetric

          type LatencyMetric interface {
          	Observe(verb string, u url.URL, latency time.Duration)

            LatencyMetric observes client latency partitioned by verb and url.

            type RegisterOpts

            type RegisterOpts struct {
            	ClientCertExpiry      ExpiryMetric
            	ClientCertRotationAge DurationMetric
            	RequestLatency        LatencyMetric
            	RateLimiterLatency    LatencyMetric
            	RequestResult         ResultMetric

              RegisterOpts contains all the metrics to register. Metrics may be nil.

              type ResultMetric

              type ResultMetric interface {
              	Increment(code string, method string, host string)

                ResultMetric counts response codes partitioned by method and host.

                Source Files