Skip to content

How to Install the Extension

Install the DuckDB OpenTelemetry Extension to start querying OpenTelemetry data with SQL.

Install from DuckDB’s community extension repository:

-- Install from DuckDB community extensions
INSTALL otlp FROM community;
LOAD otlp;

DuckDB downloads the pre-built extension for your platform.

  • DuckDB 0.10.0 or later
  • Supported platforms:
    • Linux (x86_64, arm64)
    • macOS (Intel, Apple Silicon)
    • Windows (x86_64)

Try the extension in your browser without installation:

→ Interactive Demo

The WASM demo supports:

  • JSON, JSONL, and protobuf file reads
  • Loading sample OTLP data
  • Running SQL queries in-browser
  • Uploading your own files

Native builds include the live ingest server.

For development or custom builds, see CONTRIBUTING.md.

Terminal window
# Clone repository
git clone https://github.com/smithclay/duckdb-otlp.git
cd duckdb-otlp
# Install vcpkg dependencies
export VCPKG_TOOLCHAIN_PATH=`pwd`/vcpkg/scripts/buildsystems/vcpkg.cmake
# Build with ninja
GEN=ninja make
# DuckDB shell with extension loaded
./build/release/duckdb
build/wasm_eh/extension/otlp/otlp.duckdb_extension.wasm
# Build for browser
make wasm_eh

Note: The live ingest server is not available in WASM builds.

Check that DuckDB loaded the extension:

-- List installed extensions
SELECT * FROM duckdb_extensions() WHERE extension_name = 'otlp';
-- Test with sample data
SELECT count(*) FROM read_otlp_logs('test/data/logs_simple.jsonl');
Error: Extension "otlp" not found

Ensure you’re using DuckDB 0.10+ and run:

INSTALL otlp FROM community;
LOAD otlp;

If pre-built binaries aren’t available for your platform, build from source.

Error: otlp_serve is not implemented for the wasm platform

Use a native DuckDB build for the HTTP ingest functions: otlp_serve, otlp_flush, otlp_stop, and otlp_server_list.