diff --git a/README.md b/README.md index 2487762ca3..9436481ae6 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,270 @@ -# Grafana Phlare is archived + + + + +[![Go Tests Status](https://github.com/grafana/pyroscope/workflows/Go%20Tests/badge.svg)](https://github.com/grafana/pyroscope/actions?query=workflow%3AGo%20Tests) +[![JS Tests Status](https://github.com/grafana/pyroscope/workflows/JS%20Tests/badge.svg)](https://github.com/grafana/pyroscope/actions?query=workflow%3AJS%20Tests) +[![Go Report](https://goreportcard.com/badge/github.com/grafana/pyroscope)](https://goreportcard.com/report/github.com/grafana/pyroscope) +[![License: AGPLv3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](LICENSE) +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fgrafana%2Fpyroscope.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fgrafana%2Fpyroscope?ref=badge_shield) +[![Latest release](https://img.shields.io/github/release/grafana/pyroscope.svg)](https://github.com/grafana/pyroscope/releases) +[![DockerHub](https://img.shields.io/docker/pulls/pyroscope/pyroscope.svg)](https://hub.docker.com/r/pyroscope/pyroscope) +[![GoDoc](https://godoc.org/github.com/grafana/pyroscope?status.svg)](https://godoc.org/github.com/grafana/pyroscope) + +### News On 2023-03-15, [Grafana Labs acquired Pyroscope](https://grafana.com/blog/2023/03/15/pyroscope-grafana-phlare-join-for-oss-continuous-profiling/). -As a result, Grafana Labs Phlare has been archived. +The teams and codebases of both [Grafana Phlare](https://github.com/grafana/phlare) and [Pyroscope](https://github.com/pyroscope-io/pyroscope) are **merging into [Grafana Pyroscope](https://github.com/grafana/pyroscope)**. This branch *next* reflects the currect developent of Grafana Pyroscope and all enhancement/fixes should be merged into it. + +Grafana Pyroscope is a new project. It will take some time to merge codebases and get to the first release. + +Feel free to use the information from the original Pyroscope project until that time, which can still be found the `main` branch. + +### What is Grafana Pyroscope? + +Grafana Pyroscope is an open source continuous profiling platform. It will help you: +* Find performance issues and bottlenecks in your code +* Use high-cardinality tags/labels to analyze your application +* Resolve issues with high CPU utilization +* Track down memory leaks +* Understand the call tree of your application +* Auto-instrument your code to link profiling data to traces + + +## 🔥 [Pyroscope Live Demo](https://demo.pyroscope.io/?name=hotrod.python.frontend%7B%7D) 🔥 + +[![Pyroscope GIF Demo](https://user-images.githubusercontent.com/23323466/143324845-16ff72df-231e-412d-bd0a-38ef2e09cba8.gif)](https://demo.pyroscope.io/) + +## Features + +* Minimal CPU overhead +* Efficient compression, low disk space requirements +* Can handle high-cardinality tags/labels +* Calculate the performance "diff" between various tags/labels and time periods +* Can store years of profiling data from multiple applications +* Advanced analysis UI + +## Add Pyroscope Server locally in 2 steps: + +Pyroscope supports all major architectures and is very easy to install. For example, here is how you install on a mac: +```shell +# install pyroscope +brew install pyroscope-io/brew/pyroscope + +# start pyroscope server: +pyroscope server +``` +## Send data to server via Pyroscope agent (language specific) + +For more documentation on how to add the Pyroscope agent to your code, see the [agent documentation](https://pyroscope.io/docs/agent-overview) on our website or find language specific examples and documentation below: + + + + + + + + + + + + + + + +

+ Golang

+ Documentation
+ Examples +

+ Java

+ Documentation
+ Examples +

+ Python

+ Documentation
+ Examples +

+ Ruby

+ Documentation
+ Examples +

+ Rust

+ Documentation
+ Examples +

+ NodeJS

+ Documentation
+ Examples +

+ Dotnet

+ Documentation
+ Examples +

+ eBPF

+ Documentation
+ Examples +

+ PHP

+ Documentation
+ Examples +

+ Grafana

+ Documentation
+ Examples +
+ +## Deployment Diagram + +![agent_server_diagram_11-01](https://user-images.githubusercontent.com/23323466/178165230-a94e1ee2-9725-4752-97ff-542158d1b703.svg) + +## Third-Party Integrations + +Pyroscope also supports several third-party integrations notably: +- [Grafana Plugin](https://github.com/grafana/pyroscope/tree/main/examples/grafana-integration) +- [Jaeger UI](https://github.com/pyroscope-io/jaeger-ui) +- [OTel Golang (tracing)](https://github.com/pyroscope-io/otel-profiling-go) +- [AWS Lambda Extension](https://pyroscope.io/docs/aws-lambda) + +## Documentation + +For more information on how to use Pyroscope with other programming languages, install it on Linux, or use it in production environment, check out our documentation: + +* [Public Roadmap](https://github.com/grafana/pyroscope/projects/1) +* [Getting Started](https://pyroscope.io/docs/) +* [Deployment Guide](https://pyroscope.io/docs/deployment) +* [Developer Guide](https://pyroscope.io/docs/developer-guide) + + +## Downloads + +You can download the latest version of pyroscope for macOS, linux and Docker from our [Downloads page](https://pyroscope.io/downloads/). + +## Supported Integrations + +* [x] Go (via `pprof`) +* [x] Python (via `py-spy`) +* [x] Ruby (via `rbspy`) +* [x] Linux eBPF (via `profile.py` from `bcc-tools`) +* [x] Java (via `async-profiler`) +* [x] Rust (via `pprof-rs`) +* [x] .NET (via `dotnet trace`) +* [x] PHP (via `phpspy`) +* [x] Node + +Let us know what other integrations you want to see in [our issues](https://github.com/grafana/pyroscope/issues?q=is%3Aissue+is%3Aopen+label%3Anew-profilers) or in [our slack](https://pyroscope.io/slack). + +## Credits + +Pyroscope is possible thanks to the excellent work of many people, including but not limited to: + +* Brendan Gregg — inventor of Flame Graphs +* Julia Evans — creator of rbspy — sampling profiler for Ruby +* Vladimir Agafonkin — creator of flamebearer — fast flamegraph renderer +* Ben Frederickson — creator of py-spy — sampling profiler for Python +* Adam Saponara — creator of phpspy — sampling profiler for PHP +* Alexei Starovoitov, Brendan Gregg, and many others who made BPF based profiling in Linux kernel possible +* Jamie Wong — creator of speedscope — interactive flamegraph visualizer + +## Contributing + +To start contributing, check out our [Contributing Guide](CONTRIBUTING.md) + + +### Thanks to the contributors of Pyroscope! + +[//]: contributor-faces + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -All future development will happen in [Grafana Pyroscope](https://github.com/grafana/pyroscope). +[//]: contributor-faces diff --git a/og/README.md b/og/README.md deleted file mode 100644 index a43aa3e8f9..0000000000 --- a/og/README.md +++ /dev/null @@ -1,271 +0,0 @@ - - - - -[![Go Tests Status](https://github.com/grafana/pyroscope/workflows/Go%20Tests/badge.svg)](https://github.com/grafana/pyroscope/actions?query=workflow%3AGo%20Tests) -[![JS Tests Status](https://github.com/grafana/pyroscope/workflows/JS%20Tests/badge.svg)](https://github.com/grafana/pyroscope/actions?query=workflow%3AJS%20Tests) -[![Go Report](https://goreportcard.com/badge/github.com/grafana/pyroscope)](https://goreportcard.com/report/github.com/grafana/pyroscope) -[![License: AGPLv3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](LICENSE) -[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fgrafana%2Fpyroscope.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fgrafana%2Fpyroscope?ref=badge_shield) -[![Latest release](https://img.shields.io/github/release/grafana/pyroscope.svg)](https://github.com/grafana/pyroscope/releases) -[![DockerHub](https://img.shields.io/docker/pulls/pyroscope/pyroscope.svg)](https://hub.docker.com/r/pyroscope/pyroscope) -[![GoDoc](https://godoc.org/github.com/grafana/pyroscope?status.svg)](https://godoc.org/github.com/grafana/pyroscope) - -### News - -On 2023-03-15, [Grafana Labs acquired Pyroscope](https://grafana.com/blog/2023/03/15/pyroscope-grafana-phlare-join-for-oss-continuous-profiling/). - -The teams and codebases of both [Grafana Phlare](https://github.com/grafana/phlare) and [Pyroscope](https://github.com/pyroscope-io/pyroscope) are **merging into [Grafana Pyroscope](https://github.com/grafana/pyroscope)**. - -Grafana Pyroscope is a new project. It will take some time to merge codebases and get to the first release. - -Feel free to use the information from the original Pyroscope project until that time. - -### What is Grafana Pyroscope? - -Grafana Pyroscope is an open source continuous profiling platform. It will help you: -* Find performance issues and bottlenecks in your code -* Use high-cardinality tags/labels to analyze your application -* Resolve issues with high CPU utilization -* Track down memory leaks -* Understand the call tree of your application -* Auto-instrument your code to link profiling data to traces - - -## 🔥 [Pyroscope Live Demo](https://demo.pyroscope.io/?name=hotrod.python.frontend%7B%7D) 🔥 - -[![Pyroscope GIF Demo](https://user-images.githubusercontent.com/23323466/143324845-16ff72df-231e-412d-bd0a-38ef2e09cba8.gif)](https://demo.pyroscope.io/) - -## Features - -* Minimal CPU overhead -* Efficient compression, low disk space requirements -* Can handle high-cardinality tags/labels -* Calculate the performance "diff" between various tags/labels and time periods -* Can store years of profiling data from multiple applications -* Advanced analysis UI - -## Add Pyroscope Server locally in 2 steps: - -Pyroscope supports all major architectures and is very easy to install. For example, here is how you install on a mac: -```shell -# install pyroscope -brew install pyroscope-io/brew/pyroscope - -# start pyroscope server: -pyroscope server -``` -## Send data to server via Pyroscope agent (language specific) - -For more documentation on how to add the Pyroscope agent to your code, see the [agent documentation](https://pyroscope.io/docs/agent-overview) on our website or find language specific examples and documentation below: - - - - - - - - - - - - - - - -

- Golang

- Documentation
- Examples -

- Java

- Documentation
- Examples -

- Python

- Documentation
- Examples -

- Ruby

- Documentation
- Examples -

- Rust

- Documentation
- Examples -

- NodeJS

- Documentation
- Examples -

- Dotnet

- Documentation
- Examples -

- eBPF

- Documentation
- Examples -

- PHP

- Documentation
- Examples -

- Grafana

- Documentation
- Examples -
- -## Deployment Diagram - -![agent_server_diagram_11-01](https://user-images.githubusercontent.com/23323466/178165230-a94e1ee2-9725-4752-97ff-542158d1b703.svg) - -## Third-Party Integrations - -Pyroscope also supports several third-party integrations notably: -- [Grafana Plugin](https://github.com/grafana/pyroscope/tree/main/examples/grafana-integration) -- [Jaeger UI](https://github.com/pyroscope-io/jaeger-ui) -- [OTel Golang (tracing)](https://github.com/pyroscope-io/otel-profiling-go) -- [AWS Lambda Extension](https://pyroscope.io/docs/aws-lambda) - -## Documentation - -For more information on how to use Pyroscope with other programming languages, install it on Linux, or use it in production environment, check out our documentation: - -* [Public Roadmap](https://github.com/grafana/pyroscope/projects/1) -* [Getting Started](https://pyroscope.io/docs/) -* [Deployment Guide](https://pyroscope.io/docs/deployment) -* [Developer Guide](https://pyroscope.io/docs/developer-guide) - - -## Downloads - -You can download the latest version of pyroscope for macOS, linux and Docker from our [Downloads page](https://pyroscope.io/downloads/). - -## Supported Integrations - -* [x] Go (via `pprof`) -* [x] Python (via `py-spy`) -* [x] Ruby (via `rbspy`) -* [x] Linux eBPF (via `profile.py` from `bcc-tools`) -* [x] Java (via `async-profiler`) -* [x] Rust (via `pprof-rs`) -* [x] .NET (via `dotnet trace`) -* [x] PHP (via `phpspy`) -* [x] Node - -Let us know what other integrations you want to see in [our issues](https://github.com/grafana/pyroscope/issues?q=is%3Aissue+is%3Aopen+label%3Anew-profilers) or in [our slack](https://pyroscope.io/slack). - -## Credits - -Pyroscope is possible thanks to the excellent work of many people, including but not limited to: - -* Brendan Gregg — inventor of Flame Graphs -* Julia Evans — creator of rbspy — sampling profiler for Ruby -* Vladimir Agafonkin — creator of flamebearer — fast flamegraph renderer -* Ben Frederickson — creator of py-spy — sampling profiler for Python -* Adam Saponara — creator of phpspy — sampling profiler for PHP -* Alexei Starovoitov, Brendan Gregg, and many others who made BPF based profiling in Linux kernel possible -* Jamie Wong — creator of speedscope — interactive flamegraph visualizer - -## Contributing - -To start contributing, check out our [Contributing Guide](CONTRIBUTING.md) - - -### Thanks to the contributors of Pyroscope! - -[//]: contributor-faces - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -[//]: contributor-faces