https://github.com/quackscience/duckdb-extension-pyroscope
DuckDB Pyroscope Extension for Continuous Profiling
https://github.com/quackscience/duckdb-extension-pyroscope
continuous-profiling duckdb duckdb-extension observability olap ppprof profiling pyroscope qryn
Last synced: 3 months ago
JSON representation
DuckDB Pyroscope Extension for Continuous Profiling
- Host: GitHub
- URL: https://github.com/quackscience/duckdb-extension-pyroscope
- Owner: quackscience
- Created: 2024-12-09T20:59:13.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-03-27T13:32:08.000Z (7 months ago)
- Last Synced: 2025-04-15T06:05:38.808Z (6 months ago)
- Topics: continuous-profiling, duckdb, duckdb-extension, observability, olap, ppprof, profiling, pyroscope, qryn
- Language: Rust
- Homepage: https://duckdb.org/community_extensions/extensions/pyroscope.html
- Size: 68.4 KB
- Stars: 17
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DuckDB Pyroscope Extension
This experimental extension adds pyroscope profiling features to DuckDB
> For raw `pprof` generation use the [pprof extension](https://github.com/quackscience/duckdb-extension-pprof)
### Install
```
INSTALL pyroscope FROM community;
LOAD pyroscope;
```### Usage
```sql
---- Start the tracer, requires backend Pyroscope URL
D SELECT * FROM trace_start('https://pyroscope:4000');---- Run a bunch of heavy queries to stream results to Pyroscope/qryn
---- Stop the tracer. This might hang due to a bug in the pyroscope crate.
D SELECT * FROM trace_stop();
```### Glory Shot in Pyroscope
Create a `Free` account on [Grafana Cloud](https://grafana.com/auth/sign-up/create-user?pg=prod-cloud&plcmt=hero-btn-1) create a Token for Pyroscope profile sending and use the extension:
```sql
---- Start the tracer to Grafana Cloud Pyroscope
D SELECT * FROM trace_start('https://user:token@profiles-prod-xxx.grafana.net');
```