# Configuration

Here is the list of bundle options you can use to customize how Inspector collects data within your application.

### Master Switch

Turn on/off monitoring in your application:

```yaml
inspector:
    ingestion_key: '%env(INSPECTOR_INGESTION_KEY)%'
    
    # True by default
    enabled: false
```

### Track Unhandled Exceptions

Turn on/off the unhandled exceptions reporting:

```yaml
inspector:
    ingestion_key: '%env(INSPECTOR_INGESTION_KEY)%'
    
    # True by default
    unhandled_exceptions: false
```

### Database Query Monitoring

Turn on/off monitoring of database statements:

```yaml
inspector:
    ingestion_key: '%env(INSPECTOR_INGESTION_KEY)%'
    
    # True by default
    query: false
    query_bindings: false
```

`query_bindings` option allows you to collect the content of the parameters binded to a query.

### Symfony Messenger Monitoring

Turn on/off the monitoring of asynchronous jobs scheduled by the Symfony Messenger component:

```yaml
inspector:
    ingestion_key: '%env(INSPECTOR_INGESTION_KEY)%'
    
    # True by default
    messenger: false
```

## Ignore Transactions

There may be parts of the application that you are not interested in monitoring. Maybe they were created for internal use, or for application maintenance, and have no impact on the user experience in production.

Inspector provides you several options to keep off the noise, and only monitor what matters.

### Ignore Routes

You can turn off monitoring based on url. Add the `ignore_routes` option into the `config/packages/inspector.yaml` file to define routes you don't want to monitor:

```yaml
inspector:
    ingestion_key: '%env(INSPECTOR_INGESTION_KEY)%'
    
    ignore_routes:
        - '/admin*' # Also with wildcard
```

### Ignore Commands

You can ignore commands adding the command *defaultName* to the `ignore_commands` collection in the `config/packages/inspector.yaml` file.

```yaml
inspector:
    ingestion_key: '%env(INSPECTOR_INGESTION_KEY)%'
    
    ignore_commands:
        - 'app:create-user'
        - 'app:internal*' # Also with wildcard
```

### Ignore Messenger Messages

You can ignore messages processed in background by adding the message's class to the `ignore_messages` collection in the `config/packages/inspector.yaml` file.

```yaml
inspector:
    ingestion_key: '%env(INSPECTOR_INGESTION_KEY)%'
    
    ignore_messages:
        - 'App\Messenger\Messages\SmsNotification'
        - 'App\Messenger\Messages\EmailInternal*' # Also with wildcard
```

### Transport

Inspector supports two type of strategies to send data from your application to the remote Inspection APIs: `sync` and `async`.

The async strategy is default one, and it basically process data sending in a process completely independent by your application lifecycle so your application will have zero impact in terms of performance.

The async transport requires two PHP native functions enabled: `proc_open`, and `proc_close`.

Sometimes in local environmet you don't have these functions enabled, so you can switch to the sync transport with a simple configuration property:&#x20;

```yaml
inspector:
    ingestion_key: '%env(INSPECTOR_INGESTION_KEY)%'
    
    transport: 'sync'
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.inspector.dev/guides/symfony/configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
