# Custom

### Custom Processor

The Custom processor can be used to inject a custom processor configuration into a pipeline. A list of supported processors can be found [here](https://github.com/observIQ/bindplane-otel-collector/blob/main/docs/processors.md).

The Custom processor is useful for solving use cases not covered by Bindplane's other processor types.

### Supported Types

| Metrics | Logs | Traces |
| ------- | ---- | ------ |
| ✓       | ✓    | ✓      |

The custom processor type can support all telemetry types, however, it is up to the user to enable / disable the correct types based on the processor being used.

### Configuration Table

| Parameter        | Type                | Default                         | Description                                                                         |
| ---------------- | ------------------- | ------------------------------- | ----------------------------------------------------------------------------------- |
| telemetry\_types | `telemetrySelector` | `["Logs", "Metrics", "Traces"]` | The list of telemetry types the processor will act on.                              |
| configuration    | `yaml`              | required                        | Enter any supported Processor and the YAML will be inserted into the configuration. |

### Example Configuration

Inject the following [resource processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/resourceprocessor) configuration:

```yaml
resource:
  attributes:
    - action: upsert
      key: custom
      value: true
```

**Web Interface**

<figure><img src="https://1405008107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgmiOMzBfoNFwmKJFHMcJ%2Fuploads%2Fgit-blob-2556d8157963f88126b33885eb4c41861cb6a985%2Fintegrations-processors-custom-image-1.png?alt=media" alt="Bindplane docs - Custom - image 1"><figcaption></figcaption></figure>

**Standalone Processor**

```yaml
apiVersion: bindplane.observiq.com/v1
kind: Processor
metadata:
  id: custom
  name: custom
spec:
  type: custom
  parameters:
    - name: configuration
      value: |
        resource:
          attributes:
            - action: upsert
              key: custom
              value: true
    - name: telemetry_types
      value:
        - Metrics
        - Traces
        - Logs
```

**Configuration with Embedded Processor**

```yaml
apiVersion: bindplane.observiq.com/v1
kind: Configuration
metadata:
  id: custom
  name: custom
  labels:
    platform: linux
spec:
  sources:
    - type: journald
      parameters:
        - name: units
          value: []
        - name: directory
          value: ''
        - name: priority
          value: info
        - name: start_at
          value: end
      processors:
        - type: custom
          parameters:
            - name: configuration
              value: |
                resource:
                  attributes:
                    - action: upsert
                      key: custom
                      value: true
            - name: telemetry_types
              value:
                - Metrics
                - Traces
                - Logs
  selector:
    matchLabels:
      configuration: custom
```


---

# 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.bindplane.com/integrations/processors/custom.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.
