Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add pyroscope extension #231

Merged
merged 3 commits into from
Dec 12, 2024
Merged

Add pyroscope extension #231

merged 3 commits into from
Dec 12, 2024

Conversation

lmangani
Copy link
Contributor

Description

Experimental Pyroscope extension for continous profiling of DuckDB 👁️ compatibly with pprof backends such as Grafana Pyroscope and of course with our magic polyglot observability stack qryn

Usage

---- Start the tracer, requires backend URL
D SELECT * FROM trace_start('https://pyroscope:4000');

---- Do a bunch of quack-fu queries ...

---- Stop the tracer
D SELECT * FROM trace_stop();

Glory Shot in Pyroscope

Profiling data is streamed in realtime to the backend

image

@lmangani lmangani marked this pull request as ready for review December 11, 2024 18:26
@lmangani
Copy link
Contributor Author

The builder test is not triggered. Is there something missing on our behalf?

@lmangani
Copy link
Contributor Author

mmm yeah something must be wrong, the PR shows no conflicts without running any action test....

@samansmink samansmink merged commit 34e2586 into duckdb:main Dec 12, 2024
24 checks passed
@samansmink
Copy link
Collaborator

Looks very cool! Thanks @lmangani

@lmangani
Copy link
Contributor Author

Thanks @samansmink curious about your feedback from the nest! there's also a raw https://github.com/quackscience/duckdb-extension-pprof if you're interested in the raw files w/o the Pyroscope API in the middle. Not sure if we should release it - happy to hear your opinion. Sadly they cannot be merged in the same extension due to conflicts between the libraries in rust I couldn't resolve (yet).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants