bruteSourceBruteMiddlewareOtelSpan

class OtelSpan

Outermost OTel middleware. Creates a span per LLM stack call and passes it through env[:span] for inner OTel middlewares to decorate with events and attributes.

When opentelemetry-sdk is not loaded, this is a pure pass-through.

Stack position: outermost (wraps everything including retries).

use Brute::Middleware::OTel::Span use Brute::Middleware::OTel::ToolResultLoop use Brute::Middleware::OTel::ToolCalls use Brute::Middleware::OTel::TokenUsage

... existing middleware ...

run Brute::Middleware::LLMCall.new