httpclientprovider

package
v11.1.4-modfix Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 20, 2024 License: AGPL-3.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const DataSourceMetricsMiddlewareName = "metrics"
View Source
const GrafanaRequestIDHeaderMiddlewareName = "grafana-request-id-header-middleware"
View Source
const HTTPLoggerMiddlewareName = "http-logger"
View Source
const HostRedirectValidationMiddlewareName = "host-redirect-validation"
View Source
const SetUserAgentMiddlewareName = "user-agent"

SetUserAgentMiddlewareName is the middleware name used by SetUserAgentMiddleware.

View Source
const (
	TracingMiddlewareName = "tracing"
)

Variables

This section is empty.

Functions

func DataSourceMetricsMiddleware

func DataSourceMetricsMiddleware() sdkhttpclient.Middleware

func GrafanaRequestIDHeaderMiddleware

func GrafanaRequestIDHeaderMiddleware(cfg *setting.Cfg, logger log.Logger) sdkhttpclient.Middleware

func New

New creates a new HTTP client provider with pre-configured middlewares.

func PrometheusMetricsMiddleware

func PrometheusMetricsMiddleware(metrics *PrometheusMetrics) httpclient.Middleware

PrometheusMetricsMiddleware is a middleware that will mutate the in flight, requests, duration and failure count on the provided *PrometheusMetrics instance. This can be used to count the number of requests, successful requests and errors that go through the httpclient, as well as to track the response times. For the metrics to be exposed properly, the provided *PrometheusMetrics should already be registered in a Prometheus registry.

func RedirectLimitMiddleware

func RedirectLimitMiddleware(reqValidator validations.PluginRequestValidator) sdkhttpclient.Middleware

func SetUserAgentMiddleware

func SetUserAgentMiddleware(userAgent string) httpclient.Middleware

SetUserAgentMiddleware is middleware that sets the HTTP header User-Agent on the outgoing request. If User-Agent already set, it will not be overridden by this middleware.

func TracingMiddleware

func TracingMiddleware(logger log.Logger, tracer tracing.Tracer) httpclient.Middleware

Types

type PrometheusMetrics

type PrometheusMetrics struct {
	// contains filtered or unexported fields
}

PrometheusMetrics groups some metrics for a PrometheusMetricsMiddleware

func NewPrometheusMetricsMiddleware

func NewPrometheusMetricsMiddleware(prefix string) *PrometheusMetrics

NewPrometheusMetricsMiddleware returns a new *PrometheusMetrics with pre-filled metrics, with the specified prefix

func (*PrometheusMetrics) MustRegister

func (m *PrometheusMetrics) MustRegister(registry prometheus.Registerer)

MustRegister is like Register, but, in case of failure, it panics instead of returning an error

func (*PrometheusMetrics) Register

func (m *PrometheusMetrics) Register(registry prometheus.Registerer) error

Register registers the metrics in the current PrometheusMetrics into the provided registry

func (*PrometheusMetrics) WithMustRegister

func (m *PrometheusMetrics) WithMustRegister(registry prometheus.Registerer) *PrometheusMetrics

WithMustRegister calls MustRegister and returns itself. This is to allow to chain the method call upon initialization, useful when declaring metrics in the global scope:

var svcMetrics = NewPrometheusMetricsMiddleware("my_client").WithMustRegister(prometheus.DefaultRegisterer)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL