You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: exporter/exporterhelper/README.md
-47Lines changed: 0 additions & 47 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,8 +29,6 @@ The following configuration options can be modified:
29
29
-`bytes`: the size of serialized data in bytes (the least performant option).
30
30
-`queue_size` (default = 1000): Maximum size the queue can accept. Measured in units defined by `sizer`
31
31
-`batch`: see below.
32
-
-`concurrency_controller` (default = none): The ID of an extension implementing the `RequestMiddlewareFactory` interface (e.g., `adaptive_concurrency`). When configured, exporterhelper executes export requests through the middleware, enabling logic such as adaptive concurrency, rate limiting, or circuit breaking.
Traditionally, exporters use a static `num_consumers` to determine how many concurrent requests can be sent to a backend. A Request Middleware implementation allows extensions to replace or augment this behavior with dynamic logic.
150
-
151
-
The middleware wraps the request execution, allowing it to:
152
-
1.**Intercept:** Acquire permits or check conditions before the request starts (e.g., rate limiting).
153
-
2.**Measure:** Track the duration and outcome of the request (e.g., adaptive concurrency).
154
-
3.**Control:** Block or fail requests based on internal logic.
155
-
156
-
#### Interaction with num_consumers
157
-
158
-
When a middleware is configured (via `concurrency_controller`), it acts as a gatekeeper on top of the existing queue consumers. The effective concurrency is the minimum of the middleware's logic and the static `num_consumers`.
-**Warning:** If you leave `num_consumers` at the default value (10) while using middleware that requires high concurrency (like Adaptive Request Concurrency), the queue sender will log a warning.
163
-
-**Recommendation:** Set `num_consumers` high enough to avoid capping the middleware’s maximum intended concurrency (for example, match the middleware’s configured max).
164
-
165
-
#### Example Configuration
166
-
167
-
In this example, an OTLP exporter is configured to use the `adaptive_concurrency` extension (which implements the Request Middleware interface).
168
-
169
-
```yaml
170
-
exporters:
171
-
otlp:
172
-
endpoint: https://my-backend:4317
173
-
sending_queue:
174
-
enabled: true
175
-
num_consumers: 100# Provide headroom for the middleware
0 commit comments