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

[DOC] Pyroscope landing page for doc #3176

Merged
Show file tree
Hide file tree
Changes from 3 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
91 changes: 45 additions & 46 deletions docs/sources/_index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
title: "Grafana Pyroscope documentation"
menuTitle: "Grafana Pyroscope"
title: "Grafana Pyroscope"
weight: 1
description: "Grafana Pyroscope documentation"
description: Grafana Pyroscope is an open source software project for aggregating continuous profiling data.
keywords:
- Grafana Pyroscope
- Grafana profiles
Expand All @@ -11,56 +10,56 @@ keywords:
- profiles datastore
- observability
- continuous profiling
hero:
title: Grafana Pyroscope
level: 1
image: /static/img/pyroscope-logo.svg
width: 110
height: 110
description: >-
Grafana Pyroscope is an open source software project for aggregating continuous profiling data. Continuous profiling is an observability signal that allows you to understand your workload's resources usage down to the source code line number.
Grafana Pyroscope is fully integrated with Grafana allowing you to correlate with other observability signals, like metrics, logs, and traces.
cards:
title_class: pt-0 lh-1
items:
- title: Learn about profiling
href: /docs/pyroscope/latest/introduction/
description: Learn about continuous profiling and how you identify performance bottlenecks and optimize your applications. After an application is profiled, you can start with system-wide observability and drill down to actionable code-level insights.
- title: Get started with Pyroscope
href: ./get-started/
description: Learn how to install and configure Grafana Pyroscope with several examples.
- title: Instrument your app and configure the client
href: ./configure-client/
description: When sending profiles to Pyroscope, you can choose between SDK instrumentation and auto-instrumentation using the Grafana Agent. This document explains these two techniques and guide you when to choose each one.
- title: Configure the server
href: ./configure-server/
description: Configure your Pyroscope server to meet your needs by setting disk storage, tenant IDs, memberlist, proxies, shuffle sharding, and more. You can also use the server HTTP API.
- title: View and analyze profile data
href: ./view-and-analyze-profile-data/
description: Profiling data can be presented in a variety of formats presents, including flame graphs, tables, as well as charts and graphs. Flame graphs visualize call relationships and identify hot spots. Tables let you view detailed statistics for specific functions or time periods. Charts and graphs help you analyze trends and compare performance across different metrics.
- title: Pyroscope architecture
href: ./reference-pyroscope-architecture/
description: Take a deep-dive into the microservices-based architecture to learn about deployment modes, components (microservices), and more. The system has multiple horizontally scalable microservices that can run separately and in parallel.
---
# Grafana Pyroscope documentation

![Grafana Pyroscope](logo.png)
{{< docs/hero-simple key="hero" >}}

Grafana Pyroscope is an open source software project for aggregating continuous profiling data.
Continuous profiling is an observability signal that allows you to understand your workload's resources (CPU, memory, etc.) usage down to the line number.

Grafana Pyroscope is fully integrated with Grafana allowing you to **correlate** with other observability signals, like metrics, logs, and traces.

## Continuous profiling

Continuous profiling is more than just a performance analysis tool.
It's a crucial component in modern software development and operations.
It goes past traditional profiling techniques by providing ongoing, in-depth insights into application performance.

Continuous profiling goes past the ephemeral, localized nature of traditional profiling (which historically has been more similar to `console.log` or `print statement` debugging) to a structured, centralized approach allows for effective use in production environments.
Put more simply, Pyroscope takes you from a bunch of flamegraph files on your desktop to a database where you can query and analyze production data in a structured way.
---

{{% admonition type="tip" %}}
To learn more about continuous profiling, read [the Introduction section]({{< relref "./introduction" >}}).
{{% /admonition %}}
## Overview

Pyroscope, in particular, offers the flexibility to either visualize more traditional adhoc data or evolve your applications observability tooling to include more modern continuous profiling capabilities.
Grafana Pyroscope is a multi-tenant, continuous profiling aggregation system, aligning its architectural design with Grafana Mimir, Grafana Loki, and Grafana Tempo.
It facilitates the ingestion, storage, and querying of profiles and integrates with Grafana.
This integration enables a cohesive correlation of profiling data with existing metrics, logs, and traces.

Continuous profiling provides ongoing, in-depth insights into application performance.
With Pyroscope, you go from a bunch of flame graph files on your desktop to a database you can query and analyze production data in a structured way.
knylander-grafana marked this conversation as resolved.
Show resolved Hide resolved

<video style="border-radius: 1%" autoplay loop>
<!--video style="border-radius: 1%; width: 75%; display: block; margin-left: auto; margin-right: auto;" autoplay loop>
<source src="ui.webm" type="video/webm">
knylander-grafana marked this conversation as resolved.
Show resolved Hide resolved
</video>

## Features

Core features of Grafana Pyroscope include:

- **Easy to install:** Using its monolithic mode, you can get Grafana Pyroscope up and
running with just one binary and no additional dependencies. On Kubernetes, a single helm chart
allows for deploying in different modes.
- **Horizontal scalability:** You can run Grafana Pyroscope
across multiple machines, which makes it effortless for you to scale the database to handle the profiling volumes your workload generates.
- **High availability:** Grafana Pyroscope replicates incoming profiles, ensuring that
no data is lost in the event of machine failure. This means you can rollout without
interrupting profiles ingestion and analysis.
- **Cheap, durable profile storage:** Grafana Pyroscope uses object storage for long-term data storage,
allowing it to take advantage of this ubiquitous, cost-effective, high-durability technology.
It is compatible with multiple object store implementations, including AWS S3,
Google Cloud Storage, Azure Blob Storage, OpenStack Swift, as well as any S3-compatible object storage.
- **Natively multi-tenant:** Grafana Pyroscope's multi-tenant architecture enables you
to isolate data and queries from independent teams or business units, making it
possible for these groups to share the same database.
</video-->
![Pyroscope UI showing the comparison view](/media/docs/pyroscope/screenshot-pyroscope-comp-view.png)

## Get started with Pyroscope
## Explore

Begin your journey with Pyroscope. Visit our [Getting Started Guide](/docs/pyroscope/latest/get-started/) to learn about the different ways to instrument your application with Pyroscope. Join our [Slack community](https://grafana.slack.com/archives/C049PLMV8TB) and contribute to the evolving world of continuous profiling.
{{< card-grid key="cards" type="simple" >}}
7 changes: 4 additions & 3 deletions docs/sources/introduction/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,10 @@ With Pyroscope, you get access to the core profiling functionality, which you ca

- Minimal CPU overhead and efficient compression ensure optimal performance.
- Architecture consistent with Loki, Mimir, and Tempo, promoting a smoother user experience.
- Horizontally scalable
- Horizontally scalable: You can run Grafana Pyroscope
across multiple machines. You can easily scale the database to handle the profiling volumes your workload generates.
- Reliable: Highly available setup ensures consistent uptime, even amidst upgrades or system failures.
- Multi-tenancy Support: makes it possible to run one database for multiple independent teams or business units.
- Cost Effective at Scale: Utilizes object storage, which allows extensive historical data storage without significant costs.
- Cost Effective at Scale: Utilizes object storage, which allows extensive historical data storage without significant costs. It is compatible with multiple object store implementations, including AWS S3,
Google Cloud Storage, Azure Blob Storage, OpenStack Swift, as well as any S3-compatible object storage.
- Advanced Analysis UI: Provides an advanced UI, high-cardinality tag/label handling, and the ability to differentiate performance between tags/labels and time intervals.

Loading