# Conflicts: # cmd/builder/go.sum # cmd/mdatagen/go.mod # cmd/mdatagen/go.sum # cmd/otelcorecol/go.mod # cmd/otelcorecol/go.sum # component/componenttest/go.sum # config/configauth/go.sum # config/configgrpc/go.mod # config/configgrpc/go.sum # config/confighttp/go.sum # config/confighttp/xconfighttp/go.sum # config/configmiddleware/go.sum # connector/connectortest/go.mod # connector/connectortest/go.sum # connector/forwardconnector/go.mod # connector/forwardconnector/go.sum # connector/go.mod # connector/go.sum # connector/xconnector/go.mod # connector/xconnector/go.sum # exporter/debugexporter/go.mod # exporter/debugexporter/go.sum # exporter/exporterhelper/go.mod # exporter/exporterhelper/go.sum # exporter/exporterhelper/xexporterhelper/go.mod # exporter/exporterhelper/xexporterhelper/go.sum # exporter/exportertest/go.mod # exporter/exportertest/go.sum # exporter/go.mod # exporter/go.sum # exporter/nopexporter/go.mod # exporter/nopexporter/go.sum # exporter/otlpexporter/go.mod # exporter/otlpexporter/go.sum # exporter/otlphttpexporter/go.mod # exporter/otlphttpexporter/go.sum # exporter/xexporter/go.mod # exporter/xexporter/go.sum # extension/extensionauth/extensionauthtest/go.sum # extension/extensionmiddleware/extensionmiddlewaretest/go.sum # extension/extensiontest/go.sum # extension/xextension/go.sum # extension/zpagesextension/go.sum # go.mod # internal/e2e/go.mod # internal/e2e/go.sum # internal/sharedcomponent/go.sum # otelcol/go.mod # otelcol/go.sum # otelcol/otelcoltest/go.mod # otelcol/otelcoltest/go.sum # pdata/pprofile/go.mod # pdata/pprofile/go.sum # processor/processorhelper/go.sum # processor/processorhelper/xprocessorhelper/go.sum # processor/processortest/go.sum # receiver/otlpreceiver/go.sum # receiver/receiverhelper/go.sum # receiver/receivertest/go.sum # scraper/go.sum # scraper/scraperhelper/go.sum # scraper/scraperhelper/xscraperhelper/go.sum # scraper/scrapertest/go.sum # scraper/xscraper/go.sum # service/go.mod # service/go.sum # service/telemetry/telemetrytest/go.mod # service/telemetry/telemetrytest/go.sum Co-authored-by: Hanzo Dev <[email protected]>
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.