Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 0 additions & 17 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,23 +35,6 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version: 16
- uses: actions/checkout@v3
with:
repository: 'pyroscope-io/docs-private'
ref: 'master'
path: 'docs-private'
token: ${{ secrets.DOCS_PRIVATE_ACCESS_TOKEN }}
- name: copy Makefile
run: mv docs-private/Makefile Makefile
- name: copy generate-pdfs.rb
run: mv docs-private/generate-pdfs.rb generate-pdfs.rb
- name: copy extra-plugins.js
run: mv docs-private/extra-plugins.js extra-plugins.js
# For PRs we just build
# for merges we deploy
- name: build
if: ${{ github.event_name == 'pull_request' }}
run: make build
- name: deploy
if: ${{ github.event_name != 'pull_request' }}
run: make deploy
2 changes: 1 addition & 1 deletion .tool-versions
Original file line number Diff line number Diff line change
@@ -1 +1 @@
nodejs 14.17.0
nodejs 16.18.0
51 changes: 51 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# updates slack url
SLACK_INVITE_URL="https://join.slack.com/t/pyroscope/shared_invite/zt-188djmr07-fGVF19hFTPZrLCFJAgwPyw"

API_ADDRESS=https://pyroscope.io

.PHONY: install
install:
yarn install

.PHONY: build-info
build-info:
git show-ref --head --hash=8 2> /dev/null | head -n1 > static/build-info.txt
date >> static/build-info.txt

.PHONY: build
build: install build-info
yarn build

.PHONY: generate-pdfs
generate-pdfs: invalidate-cache
ruby generate-pdfs.rb

.PHONY: create-redirects
create-redirects:
ruby create-redirects.rb

.PHONY: slack-url
slack-url:
aws s3api put-object --bucket pyroscope.io --key slack/index.html --body static/slack/index.html --website-redirect-location ${SLACK_INVITE_URL}
aws cloudfront create-invalidation --distribution-id E35O9P6VNL3Z5X --paths '/*'

.PHONY: upload
upload:
# This bucket is set up with a static website endpoint and no public-read.
# There's a cloudfront distribution in front of it.
# Access is set up to only allow reads with a special refferer header that's
# set on cloudfront side. This way it's only accessible via cloudfront.
aws s3 sync --exclude 'videos/*' --exclude 'storybook/*' build/ s3://pyroscope.io/
aws s3 cp --acl public-read static/img/favicon.ico s3://pyroscope.io/favicon.ico

.PHONY: invalidate-cache
invalidate-cache:
aws cloudfront wait invalidation-completed --distribution-id E35O9P6VNL3Z5X --id $(shell aws cloudfront create-invalidation --distribution-id E35O9P6VNL3Z5X --paths '/*' | jq .Invalidation.Id)

.PHONY: deploy
deploy:
$(MAKE) build
$(MAKE) upload
$(MAKE) create-redirects
$(MAKE) slack-url
$(MAKE) invalidate-cache
14 changes: 14 additions & 0 deletions create-redirects.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
require 'json'

JSON.parse(File.read("redirects.json")).each_pair do |from, to|
from = from.sub(/^\//, "").sub(/\/$/, "")
next if to == ""

puts "Redirect 301 #{from} #{to}"
system(
"aws", "s3api", "put-object",
"--bucket", "pyroscope.io",
"--key", "#{from}/index.html",
"--body", "static/slack/index.html",
"--website-redirect-location", to)
end
2 changes: 1 addition & 1 deletion docs/agent-install-linux.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ Pyroscope team maintain and sign packages for the following Linux distributions:
</Tabs>

:::tip
To find out about other ways of installing Pyroscope, or to find packages for other CPU architectures (e.g ARM) visit our [Downloads](/downloads) page.
To find out about other ways of installing Pyroscope, or to find packages for other CPU architectures (e.g ARM) visit our [Downloads](https://github.com/grafana/pyroscope/releases) page.
:::

**Pyroscope Agent** is not installed as `systemd` service. If you need to profile a process which is running as a service,
Expand Down
2 changes: 1 addition & 1 deletion docs/agent-install-macos.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ brew install pyroscope-io/brew/pyroscope
```

:::tip
To find out about other ways of installing Pyroscope, or to find packages for other CPU architectures (e.g ARM) visit our [Downloads](/downloads) page.
To find out about other ways of installing Pyroscope, or to find packages for other CPU architectures (e.g ARM) visit our [Downloads](https://github.com/grafana/pyroscope/releases) page.
:::

## Verify the installation
Expand Down
2 changes: 1 addition & 1 deletion docs/agent-install-windows.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Install MSI package with `msiexec`:
<br/>

:::tip
To find out about other ways of installing Pyroscope, or to find packages for other CPU architectures (e.g ARM) visit our [Downloads](/downloads) page.
To find out about other ways of installing Pyroscope, or to find packages for other CPU architectures (e.g ARM) visit our [Downloads](https://github.com/grafana/pyroscope/releases) page.
:::

## Verify the installation
Expand Down
2 changes: 1 addition & 1 deletion docs/architecture.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Location for various helper programs / scripts.

### `scripts/packages`

Helper code / files we use to make releases and generate packages for Linux / macOS. See [Downloads](/downloads) page for more information.
Helper code / files we use to make releases and generate packages for Linux / macOS. See [Downloads](https://github.com/grafana/pyroscope/releases) page for more information.

### `third_party/rustdeps`

Expand Down
2 changes: 1 addition & 1 deletion docs/developer-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ Location for various helper programs / scripts.

### /scripts/packages

Helper code / files we use to make releases and generate packages for Linux / macOS. See [Downloads](/downloads) page for more information.
Helper code / files we use to make releases and generate packages for Linux / macOS. See [Downloads](https://github.com/grafana/pyroscope/releases) page for more information.

### /third_party/rustdeps

Expand Down
2 changes: 1 addition & 1 deletion docs/installing-pyroscope-overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export const Video = () => (

### Step 1: Install Pyroscope Server

We provide a few different ways for you to install Pyroscope Server on [Linux](server-install-linux.mdx), [macOS](server-install-macos.mdx) or run it in <FontAwesomeIcon color="#0db7ed" icon={faDocker}/> [Docker](docker-guide.mdx). To find out about other ways of installing Pyroscope, or to find packages for other CPU architectures (e.g ARM) visit our [Downloads](/downloads) page.
We provide a few different ways for you to install Pyroscope Server on [Linux](server-install-linux.mdx), [macOS](server-install-macos.mdx) or run it in <FontAwesomeIcon color="#0db7ed" icon={faDocker}/> [Docker](docker-guide.mdx). To find out about other ways of installing Pyroscope, or to find packages for other CPU architectures (e.g ARM) visit our [Downloads](https://github.com/grafana/pyroscope/releases) page.

After you start the server you should be able to open [http://localhost:4040/](http://localhost:4040/) and see that pyroscope server is profiling itself (`pyroscope.server.cpu` application).

Expand Down
2 changes: 1 addition & 1 deletion docs/server-install-linux.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ Pyroscope team maintain and sign packages for the following Linux distributions:
</Tabs>

:::tip
To find out about other ways of installing Pyroscope, or to find packages for other CPU architectures (e.g ARM) visit our [Downloads](/downloads) page.
To find out about other ways of installing Pyroscope, or to find packages for other CPU architectures (e.g ARM) visit our [Downloads](https://github.com/grafana/pyroscope/releases) page.
:::

Use `systemctl` to enable and start the service:
Expand Down
2 changes: 1 addition & 1 deletion docs/server-install-macos.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ brew install pyroscope-io/brew/pyroscope
```

:::tip
To find out about other ways of installing Pyroscope, or to find packages for other CPU architectures (e.g ARM) visit our [Downloads](/downloads) page.
To find out about other ways of installing Pyroscope, or to find packages for other CPU architectures (e.g ARM) visit our [Downloads](https://github.com/grafana/pyroscope/releases) page.
:::

To start pyroscope server and register it to launch at login (on boot), run the following command:
Expand Down
4 changes: 4 additions & 0 deletions docs/storage-design.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ slug: /storage-design

## Storage Efficiency

:::note
This article is relevant for pre-v1.0.0 versions of Pyroscope. Since acquisition of Pyroscope in March 2023 we've been working on a new horizontally scalable storage engine that was released in v1.0.0. You can learn more about it [here](https://grafana.com/docs/pyroscope/next/reference-pyroscope-architecture/). This article is here for historical purposes.
:::

The challenge with continuous profiling is that if you just take frequent chunks of profiling data, compress it, and store it somewhere, it becomes:
1. Too much data to store efficiently
2. Too much data to query quickly
Expand Down
23 changes: 11 additions & 12 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ module.exports = {
appUrl: "https://app.posthog.com", // optional
enableInDevelopment: false, // optional
},
algolia: {
apiKey: '36ebff722c41a8fb7d1b11b4abcc980c',
indexName: 'pyroscope',
contextualSearch: false,
searchParameters: {},
},
// algolia: {
// apiKey: '36ebff722c41a8fb7d1b11b4abcc980c',
// indexName: 'pyroscope',
// contextualSearch: false,
// searchParameters: {},
// },
googleAnalytics: {
trackingID: 'UA-185672451-1'
},
Expand All @@ -56,14 +56,13 @@ module.exports = {
},
items: [
{
to: 'docs/',
activeBasePath: 'docs',
href: "https://grafana.com/docs/pyroscope/latest/",
label: 'Docs',
position: 'left',
},
{to: 'blog', label: 'Blog', position: 'left'},
{
href: 'https://pyroscope.io/slack/',
href: 'https://slack.grafana.com/',
icon: "/img/navbar/slack.svg",
label: 'Slack',
position: 'right',
Expand Down Expand Up @@ -96,15 +95,15 @@ module.exports = {
items: [
{
label: 'Getting Started',
to: 'docs',
href: "https://grafana.com/docs/pyroscope/latest/",
},
{
label: 'Downloads',
to: 'downloads',
href: 'https://github.com/grafana/pyroscope/releases',
},
{
label: 'Deployment Guide',
to: 'docs/deployment',
href: 'https://grafana.com/docs/pyroscope/next/deploy-kubernetes/',
},
],
},
Expand Down
8 changes: 8 additions & 0 deletions generate-pdfs.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
pages = %w(terms privacy subprocessors support-agreement support-policy security)

pages.each do |x|
system "docker run -v \"$(pwd):/workspace\" pink33n/html-to-pdf --url https://pyroscope.io/#{x}/ --pdf build/#{x}.pdf"
end

all_pages = pages.map { |x| "#{x}.pdf" }.join(' ')
system "cd build && zip legal.zip #{all_pages}"
63 changes: 63 additions & 0 deletions redirects.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
{
"docs/admin-server-delete-app": "",
"docs/admin-server": "",
"docs/agent-configuration-adhoc": "",
"docs/agent-configuration-agent": "",
"docs/agent-configuration-connect": "",
"docs/agent-configuration-exec": "",
"docs/agent-configuration-overview": "",
"docs/agent-install-linux": "",
"docs/agent-install-macos": "",
"docs/agent-install-windows": "",
"docs/agent-overview": "",
"docs/api-key-authentication": "",
"docs/ci": "",
"docs/data-retention": "",
"docs/docker-compose": "",
"docs/docker-guide": "",
"docs/flamegraph-com": "",
"docs/flameql": "",
"docs/golang-tracing": "",
"docs/java-tracing": "",
"docs/metrics-export": "",
"docs/new-integrations": "",
"docs/php": "",
"docs/remote-write": "",
"docs/ruby-tracing": "",
"docs/server-api-reference": "",
"docs/server-install-linux": "",
"docs/server-install-macos": "",
"docs/server-overview": "",
"docs/storage-design": "",
"docs/style-guide": "",
"docs/troubleshooting-faq": "",
"docs/agent-kubernetes": "https://grafana.com/docs/pyroscope/latest/deploy-kubernetes/helm/",
"docs/architecture": "https://grafana.com/docs/pyroscope/latest/reference-pyroscope-architecture/",
"docs/auth-github": "https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/github/",
"docs/auth-gitlab": "https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/gitlab/",
"docs/auth-google": "https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/google/",
"docs/auth-internal": "https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/",
"docs/auth-overview": "https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/",
"docs/aws-lambda": "https://github.com/grafana/pyroscope-lambda-extension",
"docs/deployment": "https://grafana.com/docs/pyroscope/latest/deploy-kubernetes/",
"docs/developer-guide": "https://grafana.com/docs/pyroscope/latest/reference-pyroscope-architecture/",
"docs/dotnet-old": "https://grafana.com/docs/pyroscope/latest/configure-client/language-sdks/dotnet/",
"docs/dotnet": "https://grafana.com/docs/pyroscope/latest/configure-client/language-sdks/dotnet/",
"docs/ebpf": "https://grafana.com/docs/pyroscope/latest/configure-client/grafana-agent/ebpf/",
"docs/golang-old": "https://grafana.com/docs/pyroscope/latest/configure-client/language-sdks/go_push/",
"docs/golang-pull-mode": "https://grafana.com/docs/pyroscope/latest/configure-client/grafana-agent/go_pull/",
"docs/golang": "https://grafana.com/docs/pyroscope/next/configure-client/language-sdks/go_push/",
"docs/grafana-plugins": "https://grafana.com/docs/grafana/latest/datasources/grafana-pyroscope/",
"docs/how-pyroscope-works": "https://grafana.com/docs/pyroscope/next/get-started/",
"docs/installing-pyroscope-overview": "https://grafana.com/docs/pyroscope/next/get-started/",
"docs/java": "https://grafana.com/docs/pyroscope/latest/configure-client/language-sdks/java/",
"docs/kubernetes-helm-chart": "https://grafana.com/docs/pyroscope/latest/deploy-kubernetes/helm/",
"docs/nodejs": "https://grafana.com/docs/pyroscope/latest/configure-client/language-sdks/nodejs/",
"docs/python": "https://grafana.com/docs/pyroscope/latest/configure-client/language-sdks/python/",
"docs/ruby": "https://grafana.com/docs/pyroscope/latest/configure-client/language-sdks/ruby/",
"docs/rust": "https://grafana.com/docs/pyroscope/latest/configure-client/language-sdks/rust/",
"docs/server-configuration": "https://grafana.com/docs/pyroscope/latest/configure-server/",
"docs/server-kubernetes": "https://grafana.com/docs/pyroscope/latest/deploy-kubernetes/",
"docs/supported-integrations": "https://grafana.com/docs/pyroscope/latest/configure-client/",
"downloads": "https://github.com/grafana/pyroscope/releases"
}
Loading