# `Vllm.Tracing`
[🔗](https://github.com/nshkrdotcom/vllm/blob/v0.3.0/lib/snakebridge_generated/vllm/tracing/__init__.ex#L6)

Submodule bindings for `vllm.tracing`.

## Version

- Requested: 0.14.0
- Observed at generation: 0.14.0

## Runtime Options

All functions accept a `__runtime__` option for controlling execution behavior:

    Vllm.Tracing.some_function(args, __runtime__: [timeout: 120_000])

### Supported runtime options

- `:timeout` - Call timeout in milliseconds (default: 120,000ms / 2 minutes)
- `:timeout_profile` - Use a named profile (`:default`, `:ml_inference`, `:batch_job`, `:streaming`)
- `:stream_timeout` - Timeout for streaming operations (default: 1,800,000ms / 30 minutes)
- `:session_id` - Override the session ID for this call
- `:pool_name` - Target a specific Snakepit pool (multi-pool setups)
- `:affinity` - Override session affinity (`:hint`, `:strict_queue`, `:strict_fail_fast`)

### Timeout Profiles

- `:default` - 2 minute timeout for regular calls
- `:ml_inference` - 10 minute timeout for ML/LLM workloads
- `:batch_job` - Unlimited timeout for long-running jobs
- `:streaming` - 2 minute timeout, 30 minute stream_timeout

### Example with timeout override

    # For a long-running ML inference call
    Vllm.Tracing.predict(data, __runtime__: [timeout_profile: :ml_inference])

    # Or explicit timeout
    Vllm.Tracing.predict(data, __runtime__: [timeout: 600_000])

    # Route to a pool and enforce strict affinity
    Vllm.Tracing.predict(data, __runtime__: [pool_name: :strict_pool, affinity: :strict_queue])

See `SnakeBridge.Defaults` for global timeout configuration.

# `_is_otel_imported`

```elixir
@spec _is_otel_imported() :: {:ok, boolean()} | {:error, Snakepit.Error.t()}
```

Python module attribute `vllm.tracing._is_otel_imported`.

## Returns

- `boolean()`

# `contains_trace_headers`

```elixir
@spec contains_trace_headers(
  term(),
  keyword()
) :: {:ok, boolean()} | {:error, Snakepit.Error.t()}
```

Python binding for `vllm.tracing.contains_trace_headers`.

## Parameters

- `headers` (term())

## Returns

- `boolean()`

# `extract_trace_context`

```elixir
@spec extract_trace_context(
  term(),
  keyword()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python binding for `vllm.tracing.extract_trace_context`.

## Parameters

- `headers` (term())

## Returns

- `term()`

# `extract_trace_headers`

```elixir
@spec extract_trace_headers(
  term(),
  keyword()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python binding for `vllm.tracing.extract_trace_headers`.

## Parameters

- `headers` (term())

## Returns

- `term()`

# `get_span_exporter`

```elixir
@spec get_span_exporter(
  term(),
  keyword()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python binding for `vllm.tracing.get_span_exporter`.

## Parameters

- `endpoint` (term())

## Returns

- `term()`

# `init_tracer`

```elixir
@spec init_tracer(String.t(), String.t(), keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python binding for `vllm.tracing.init_tracer`.

## Parameters

- `instrumenting_module_name` (String.t())
- `otlp_traces_endpoint` (String.t())

## Returns

- `term()`

# `is_otel_available`

```elixir
@spec is_otel_available(keyword()) :: {:ok, boolean()} | {:error, Snakepit.Error.t()}
```

Python binding for `vllm.tracing.is_otel_available`.

## Returns

- `boolean()`

# `log_tracing_disabled_warning`

```elixir
@spec log_tracing_disabled_warning(keyword()) ::
  {:ok, nil} | {:error, Snakepit.Error.t()}
```

Python binding for `vllm.tracing.log_tracing_disabled_warning`.

## Parameters

- `args` (term())
- `kwargs` (term())

## Returns

- `nil`

# `logger`

```elixir
@spec logger() :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python module attribute `vllm.tracing.logger`.

## Returns

- `term()`

# `otel_import_error_traceback`

```elixir
@spec otel_import_error_traceback() :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python binding for `vllm.tracing.otel_import_error_traceback`.

## Returns

- `term()`

# `otel_import_error_traceback`

```elixir
@spec otel_import_error_traceback(keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
@spec otel_import_error_traceback(term()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `otel_import_error_traceback`

```elixir
@spec otel_import_error_traceback(
  term(),
  keyword()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
@spec otel_import_error_traceback(term(), term()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `otel_import_error_traceback`

```elixir
@spec otel_import_error_traceback(term(), term(), keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
@spec otel_import_error_traceback(term(), term(), term()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `otel_import_error_traceback`

```elixir
@spec otel_import_error_traceback(term(), term(), term(), keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
@spec otel_import_error_traceback(term(), term(), term(), term()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `otel_import_error_traceback`

```elixir
@spec otel_import_error_traceback(term(), term(), term(), term(), keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
@spec otel_import_error_traceback(term(), term(), term(), term(), term()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `otel_import_error_traceback`

```elixir
@spec otel_import_error_traceback(term(), term(), term(), term(), term(), keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
@spec otel_import_error_traceback(term(), term(), term(), term(), term(), term()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `otel_import_error_traceback`

```elixir
@spec otel_import_error_traceback(
  term(),
  term(),
  term(),
  term(),
  term(),
  term(),
  keyword()
) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
@spec otel_import_error_traceback(
  term(),
  term(),
  term(),
  term(),
  term(),
  term(),
  term()
) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `otel_import_error_traceback`

```elixir
@spec otel_import_error_traceback(
  term(),
  term(),
  term(),
  term(),
  term(),
  term(),
  term(),
  keyword()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
@spec otel_import_error_traceback(
  term(),
  term(),
  term(),
  term(),
  term(),
  term(),
  term(),
  term()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `otel_import_error_traceback`

```elixir
@spec otel_import_error_traceback(
  term(),
  term(),
  term(),
  term(),
  term(),
  term(),
  term(),
  term(),
  keyword()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `run_once`

```elixir
@spec run_once(
  term(),
  keyword()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python binding for `vllm.tracing.run_once`.

## Parameters

- `f` (term())

## Returns

- `term()`

# `trace_headers`

```elixir
@spec trace_headers() :: {:ok, [term()]} | {:error, Snakepit.Error.t()}
```

Python module attribute `vllm.tracing.TRACE_HEADERS`.

## Returns

- `list(term())`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
