# Pebble

### Overview

Pebble is a key-value storage engine that provides efficient data buffering for the Bindplane OTel Collector. It offers good performance with minimal configuration and is the **recommended default** for most production deployments.

{% hint style="info" %}
Under the hood, Pebble Persistent Queue Storage is the [Bindplane pebble extension](https://github.com/observIQ/bindplane-otel-collector/tree/main/extension/pebbleextension).
{% endhint %}

### Configuration

The following parameters control Pebble storage behavior:

| Parameter                              | Type   | Default                              | Description                                                                                                                                                     |
| -------------------------------------- | ------ | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Persistent Queue Directory`           | string | `${OIQ_OTEL_COLLECTOR_HOME}/storage` | Directory where Pebble stores data files                                                                                                                        |
| `Synchronize Persistent Queue to Disk` | bool   | `true`                               | Whether to sync writes immediately to disk for durability                                                                                                       |
| `Cache Size`                           | int    | `8 MB`                               | Size in bytes of the block cache. When `0`, uses Pebble's default cache behavior of `8 MB`. Larger values improve read performance at the cost of memory usage. |

### When to Use Pebble

Use Pebble for:

* Single collector deployments
* Standard gateway deployments
* Edge collectors and agent deployments
* When configuration simplicity is preferred

### Monitoring

Monitor these indicators after configuring Pebble:

**Disk Usage**

* Growth is normal and proportional to data volume
* Pebble handles cleanup automatically
* Ensure sufficient disk space remains available

**Processing Latency**

* Should be consistent without significant spikes
* If degrading, check if at capacity for current data volume

**Memory Usage**

* Should remain stable and predictable
* If growing unexpectedly, adjust `Cache Size` if configured

### Troubleshooting

**Performance degradation:**

* Check if data volume exceeds current capacity
* Monitor CPU and disk I/O utilization

**High disk usage:**

* Normal with high-throughput deployments
* Verify adequate disk space remains available

### Next Steps

1. If switching to or from Pebble, follow the [Switching Queues](/configuration/bindplane-otel-collector/persistent-queue/switching-queues.md) guide to avoid data loss.
2. Monitor per-collector throughput, memory usage, and disk space.

For help choosing your persistent queue storage, see the [Persistent Queue](/configuration/bindplane-otel-collector/persistent-queue.md) guide.


---

# 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/configuration/bindplane-otel-collector/persistent-queue/pebble.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.
