# `Vllm.Config.ProfilerConfig`
[🔗](https://github.com/nshkrdotcom/vllm/blob/v0.3.0/lib/snakebridge_generated/vllm/config/profiler_config.ex#L7)

Dataclass which contains profiler config for the engine.

# `t`

```elixir
@opaque t()
```

# `_get_from_env_if_set`

```elixir
@spec _get_from_env_if_set(SnakeBridge.Ref.t(), String.t(), String.t(), keyword()) ::
  {:ok, nil} | {:error, Snakepit.Error.t()}
```

Get field from env var if set, with deprecation warning.

## Parameters

- `field_name` (String.t())
- `env_var_name` (String.t())

## Returns

- `nil`

# `_set_from_env_if_set`

```elixir
@spec _set_from_env_if_set(
  SnakeBridge.Ref.t(),
  String.t(),
  String.t(),
  [term()],
  keyword()
) ::
  {:ok, nil} | {:error, Snakepit.Error.t()}
```

Set field from env var if set, with deprecation warning.

## Parameters

- `field_name` (String.t())
- `env_var_name` (String.t())
- `to_bool` (boolean() default: True)
- `to_int` (boolean() default: False)

## Returns

- `nil`

# `_validate_profiler_config`

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

Python method `ProfilerConfig._validate_profiler_config`.

## Returns

- `term()`

# `compute_hash`

```elixir
@spec compute_hash(
  SnakeBridge.Ref.t(),
  keyword()
) :: {:ok, String.t()} | {:error, Snakepit.Error.t()}
```

WARNING: Whenever a new field is added to this config,

ensure that it is included in the factors list if
it affects the computation graph.

Provide a hash that uniquely identifies all the configs
that affect the structure of the computation
graph from input ids/embeddings to the final hidden states,
excluding anything before input ids/embeddings and after
the final hidden states.

## Returns

- `String.t()`

# `delay_iterations`

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

# `ignore_frontend`

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

# `max_iterations`

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

# `new`

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

Constructs `ProfilerConfig`.

## Parameters

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

# `profiler`

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

# `torch_profiler_dir`

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

# `torch_profiler_dump_cuda_time_total`

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

# `torch_profiler_record_shapes`

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

# `torch_profiler_use_gzip`

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

# `torch_profiler_with_flops`

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

# `torch_profiler_with_memory`

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

# `torch_profiler_with_stack`

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

---

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