opentelemetry-collector/extension/extensionmiddleware
renovate[bot] 54af54f8ab
Update module google.golang.org/grpc to v1.72.1 (#13053)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google.golang.org/grpc](https://redirect.github.com/grpc/grpc-go) |
`v1.72.0` -> `v1.72.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgrpc/v1.72.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fgrpc/v1.72.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fgrpc/v1.72.0/v1.72.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgrpc/v1.72.0/v1.72.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>grpc/grpc-go (google.golang.org/grpc)</summary>

###
[`v1.72.1`](https://redirect.github.com/grpc/grpc-go/releases/tag/v1.72.1):
Release 1.72.1

[Compare
Source](https://redirect.github.com/grpc/grpc-go/compare/v1.72.0...v1.72.1)

### Bug Fixes

- client: HTTP Proxy connections are no longer attempted for addresses
with non-TCP network types.
([#&#8203;8215](https://redirect.github.com/grpc/grpc-go/issues/8215))
- client: Fix bug that causes RPCs to fail with status INTERNAL instead
of CANCELLED or DEADLINE_EXCEEDED when receiving a RST_STREAM frame in
the middle of the gRPC message.
([#&#8203;8289](https://redirect.github.com/grpc/grpc-go/issues/8289))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuMTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
Co-authored-by: Yang Song <songy23@users.noreply.github.com>
2025-05-20 15:24:25 +00:00
..
extensionmiddlewaretest Update module google.golang.org/grpc to v1.72.1 (#13053) 2025-05-20 15:24:25 +00:00
Makefile Middleware: extension interface (part 1/4) (#12843) 2025-04-15 20:01:53 +00:00
README.md Middleware: config struct (part 2/4) (#12844) 2025-04-17 17:51:13 +00:00
client.go Middleware: config struct (part 2/4) (#12844) 2025-04-17 17:51:13 +00:00
client_test.go Middleware: HTTP support (part 3/4) (#12845) 2025-04-18 20:21:37 +00:00
go.mod Update module google.golang.org/grpc to v1.72.1 (#13053) 2025-05-20 15:24:25 +00:00
go.sum Update module google.golang.org/grpc to v1.72.1 (#13053) 2025-05-20 15:24:25 +00:00
server.go Middleware: config struct (part 2/4) (#12844) 2025-04-17 17:51:13 +00:00
server_test.go Middleware: config struct (part 2/4) (#12844) 2025-04-17 17:51:13 +00:00

README.md

OpenTelemetry Collector Middleware Extension API

This package implements interfaces for injecting middleware behavior in OpenTelemetry Collector exporters and receivers. See the associated configmiddleware package for referring to middleware extensions in component configurations.

Overview

Middleware extensions can be configured on gRPC and HTTP connections, on both the client and server side. The term "middleware" is defined broadly to cover many ways of intercepting, acting on, and observing requests as they enter and exit and RPC system.

Middleware details and capabilities are specific to each protocol. In some cases, these interfaces permit configuring behavior other than middleware. Users have to place a trust in the extensions they configure, since they are capable of subverting security and other RPC configuration.

Middleware is generally configured at a level in the code where:

  1. the identity of the calling component is not known, because confighttp and configgrpc interfaces likewise are not configured with the identify of the calling component.
  2. the signal type in use is not known, because a single connection serves multiple signals.

Interfaces

Each interface has a single function to configure middleware for a protocol on the client or server side. An error is returned if the extension cannot be configured.

New protocols and new ways to configure middleware can be introduced by adding new interfaces. Note that for each interface, there is a corresponding method to locate a named middleware extension that satisfies the interface in the configmiddleware package .

HTTP

Interface methods are called once per request to construct a client- or server-side middleware object.

  • HTTPClient: The extension returns a function to create new http.RoundTrippers.
  • HTTPServer: The extension returns a function to create new http.Handlers.

GRPC

Interface methods are called once at setup to configure the client- or server-side middleware object.

  • GRPCClient: The extension returns []grpc.DialOption.
  • GRPCServer: The extension returns []grpc.ServerOption.