Skip to main content

In March 2023, Grafana Labs acquired Pyroscope, the company behind the eponymous open source continuous profiling project. In September 2023, Grafana Pyroscope v1.0.0 was released.

This documentation covers Pyroscope versions preceding v1.0.0. We're keeping it for the time being, but we recommend that you upgrade to Grafana Pyroscope v1.0.0 or higher and switch to the new Grafana Pyroscope Docs for most up-to-date documentation.

Style Guide


We use Effective Go as a general guideline for Go code.

Command Line Intefrace (CLI) Guide#

We use guidelines when working on command line interface parts of Pyroscope.

Project Structure#

We use golang-standards/project-layout as the standard for where different parts of the system should go.


We use revive for linting. We recommend that you use an editor integration. You can find more on that here


We use Google developer documentation style guide as a general guideline for all documentation in this repo and the website.


To make diagrams we recommend using

Other Considerations#

When contributing to pyroscope, make sure your text editor adds new lines at the end of files. See this stack overflow answer for context on why this is important.

To make VS Code do this automatically, set files.insertFinalNewline to true.