I am opening this PR as a copy of #13620 --------- Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| Makefile | ||
| README.md | ||
| configmiddleware.go | ||
| configmiddleware_test.go | ||
| go.mod | ||
| go.sum | ||
README.md
OpenTelemetry Collector Middleware Configuration
This package implements a configuration struct for referring to middleware extensions.
Overview
The configmiddleware package defines a Config type that
allows components to configure middleware extensions, typically as
an ordered list.
This support is built in for push-based receivers configured through
confighttp and configgrpc, as for example in the OTLP receiver:
receivers:
otlp:
protocols:
http:
middlewares:
- id: limitermiddleware
Methods
The package provides four key methods to retrieve appropriate middleware handlers:
-
GetHTTPClientRoundTripper: Obtains a function to wrap an HTTP client with a middleware extension via a
http.RoundTripper. -
GetHTTPServerHandler: Obtains a function to wrap an HTTP server with a middleware extension via a
http.Handler. -
GetGRPCClientOptions: Obtains a
[]grpc.DialOptionthat configure a middleware extension for gRPC clients. -
GetGRPCServerOptions: Obtains a
[]grpc.ServerOptionthat configure a middleware extension for gRPC servers.
These functions are typically called during Start() by a component,
passing the component.Host extensions.
An error is returned if the named extension cannot be found.