Developer Guide
This guide will help you get started developing Pyroscope.
Dependencies
Make sure you have the following dependencies installed before setting up your developer environment:
git
go
node
+yarn
rust
(you'll only need it to work on Python and Ruby integrations)
macOS
On macOS we recommend you to use homebrew to manage dependencies:
brew install git
brew install go
brew install node
brew install rust
npm install -g yarn
Building pyroscope locally
To start developing Pyroscope you need to know a few commands:
# builds rust dependencies for rbspy / pyspy,
# normally you only need to run this once:
make build-rust-dependencies
# builds web assets (JavaScript + SCSS code):
make assets
# to build assets in --watch mode use this command:
make assets-watch
# builds the main binary:
make build
# starts pyroscope server:
make server
Text Editors
VS Code
Go
If you're using VS Code we would recommend the official Go extension from Google.
We use revive
for linting. Add --config=${workspaceFolder}/revive.toml
to Go: Lint Flags
section in VS Code settings.
Style Guides
Please checkout out the style guides we use.