---
title: DuckDB
description: Integration for DuckDB
breadcrumbs: Docs > Integrations > DuckDB
---

# DuckDB
Supported OS Integration version1.3.0
## Overview{% #overview %}

DuckDB is a high-performance analytical database system. It is available as a standalone CLI application and has clients for Python, R, Java, Wasm, etc., with deep integrations with packages such as pandas and dplyr.

For more information on using DuckDB, refer to the [DuckDB documentation](https://duckdb.org/docs/).

This check monitors [DuckDB](https://docs.datadoghq.com/integrations/duckdb.md) through the Datadog Agent.

**Minimum Agent version:** 7.63.0

## Setup{% #setup %}

DuckDB has two configurable options for concurrency:

- One process can both read and write to the database.
- Multiple processes can read from the database, but no processes can write (access_mode = 'READ_ONLY').

{% alert level="warning" %}
The Datadog Agent uses the `read_only` mode to get metrics, with a default frequency of 60 seconds (`min_collection_interval`). You can increase this value to reduce concurrency issues.
{% /alert %}

Follow the instructions below to install and configure this check for an Agent running on a host. For containerized environments, see the [Autodiscovery Integration Templates](https://docs.datadoghq.com/agent/kubernetes/integrations.md) for guidance on applying these instructions.

### Installation{% #installation %}

The DuckDB check is included in the [Datadog Agent](https://app.datadoghq.com/account/settings/agent/latest) package. No additional installation is needed on your server.

#### Dependencies{% #dependencies %}

The [duckdb](https://pypi.org/project/duckdb/) client library is required. To install it, ensure you have a working compiler and run:

##### Unix{% #unix %}

```text
sudo -Hu dd-agent /opt/datadog-agent/embedded/bin/pip install duckdb==1.1.1
```

##### Windows{% #windows %}

```text
"C:\Program Files\Datadog\Datadog Agent\embedded3\python.exe" -m pip install duckdb==1.1.1
```

### Configuration{% #configuration %}

1. Edit the `duckdb.d/conf.yaml` file, in the `conf.d/` folder at the root of your Agent's configuration directory to start collecting your duckdb performance data. See the [sample duckdb.d/conf.yaml](https://github.com/DataDog/integrations-core/blob/master/duckdb/datadog_checks/duckdb/data/conf.yaml.example) for all available configuration options.

1. [Restart the Agent](https://docs.datadoghq.com/agent/guide/agent-commands.md#start-stop-and-restart-the-agent).

### Validation{% #validation %}

[Run the Agent's status subcommand](https://docs.datadoghq.com/agent/guide/agent-commands.md#agent-status-and-information) and look for `duckdb` under the Checks section.

## Data Collected{% #data-collected %}

### Metrics{% #metrics %}

|  |
|  |
| **duckdb.memory\_limit**(gauge)                        | The maximum memory of the system.*Shown as byte*                                                              |
| **duckdb.partitioned\_write\_flush\_threshold**(gauge) | The threshold in number of rows after which we flush a thread state when writing using PARTITION_BY.          |
| **duckdb.partitioned\_write\_max\_open\_files**(gauge) | The maximum amount of files the system can keep open before flushing to disk when writing using PARTITION_BY. |
| **duckdb.wal\_autocheckpoint**(gauge)                  | The WAL size threshold at which to automatically trigger a checkpoint.*Shown as byte*                         |
| **duckdb.worker\_threads**(gauge)                      | The number of total threads used by the system.                                                               |

### Events{% #events %}

The DuckDB integration does not include any events.

### Service Checks{% #service-checks %}

The DuckDB integration does not include any service checks.

## Troubleshooting{% #troubleshooting %}

Need help? Contact [Datadog support](https://docs.datadoghq.com/help/).
