Files
zeekayandHanzo Dev 619e8d8249 Merge remote-tracking branch 'origin/main'
# 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]>
2026-09-08 09:49:32 -07:00
..

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:

  1. GetHTTPClientRoundTripper: Obtains a function to wrap an HTTP client with a middleware extension via a http.RoundTripper.

  2. GetHTTPServerHandler: Obtains a function to wrap an HTTP server with a middleware extension via a http.Handler.

  3. GetGRPCClientOptions: Obtains a []grpc.DialOption that configure a middleware extension for gRPC clients.

  4. GetGRPCServerOptions: Obtains a []grpc.ServerOption that 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.