Skip to content

Commit

Permalink
Merge pull request #10 from metrico/pyroscope
Browse files Browse the repository at this point in the history
Pyroscope Docs
  • Loading branch information
lmangani authored Jan 25, 2024
2 parents 33a07c8 + 7611ca3 commit d6c7f14
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 1 deletion.
2 changes: 2 additions & 0 deletions docs/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@
* [Logs](logs/ingestion.md "QRYN – Supported Components – LogQL for ClickHouse and beyond")
* [Metrics](metrics/ingestion.md "QRYN – Supported Components – LogQL for ClickHouse and beyond")
* [Telemetry](telemetry/ingestion.md "QRYN – Supported Components – LogQL for ClickHouse and beyond")
* [Profiling](profiling/ingestion.md "QRYN – Supported Components – LogQL for ClickHouse and beyond")
* [Querying](getting-started.md "QRYN – Getting Started – LogQL for ClickHouse and beyond")
* [Logs](logs/query "QRYN – Getting Started – LogQL for ClickHouse and beyond")
* [Metrics](metrics/query "QRYN by Metrico.in")
* [Telemetry](telemetry/query "QRYN by Metrico.in")
* [Profiling](profiling/query "QRYN by Metrico.in")
* [Advanced](examples.md "QRYN – Getting Started – LogQL for ClickHouse and beyond")
* [LogQL](guide/logql.md "QRYN – Getting Started – LogQL for ClickHouse and beyond")
* [APIs](support.md "QRYN – Supported Components – LogQL for ClickHouse and beyond")
Expand Down
5 changes: 4 additions & 1 deletion docs/home.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

<h1 style="font-weight: normal;font-size: 30px;">
<b>qryn</b>: <i>polyglot monitoring and observability</i><br/><br/>
<a href="https://qryn.cloud" target="_blank"><img src="https://user-images.githubusercontent.com/1423657/218818279-3efff74f-0191-498a-bdc4-f2650c9d3b49.gif"></a>
<a href="https://qryn.cloud" target="_blank">
<!-- <img src="https://user-images.githubusercontent.com/1423657/218818279-3efff74f-0191-498a-bdc4-f2650c9d3b49.gif"> -->
<img src="https://github.com/metrico/qryn-docs/assets/1423657/a5164f98-d3ed-4638-afe5-c87d252c74af">
</a>
</h1>

?> ... it's pronounced /ˈkwɪr..ɪŋ/ or just _querying_
Expand Down
63 changes: 63 additions & 0 deletions docs/profiling/ingestion.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# 🔻 Profiling Ingestion

The following protocol APIs are supported for ingesting continuous profiling events:

<!-- tabs:start -->
## ** OTEL Collector **

<a id=grafana name=grafana></a>

![image](https://user-images.githubusercontent.com/1423657/196469086-3d85efd5-7ef9-4d42-a677-5591470b7cae.png ':size=200')

The [OTEL Collector]([https://opentelemetry.io/docs/collector/](https://github.com/metrico/otel-collector)) offers a vendor-agnostic implementation of how to receive, process and export telemetry data. It removes the need to run, operate, and maintain multiple agents/collectors.

This works with improved scalability and supports a large variety of open-source observability data formats _(e.g. pprof, etc.)_ and allows aggregating and sending profiling data to **qryn** using the _Pyroscope API_

This guide is based on the [qryn opentelemetry distribution](https://github.com/metrico/otel-collector) for qryn + clickhouse.

### Examples

#### qryn collector
```
otel-collector:
container_name: otel-collector
image: ghcr.io/metrico/qryn-otel-collector:latest
volumes:
- ./otel-collector-config.yaml:/etc/otel/config.yaml
ports:
- "8062 :8062 " # Pyroscope gRPC receiver
restart: on-failure
```

###### pyroscope `otel-collector-config.taml`
The following example enables Pyroscope ingestion using the qryn-collector. Integrate in your existing configuration.

```yml
receivers:
pyroscopereceiver:
exporters:
clickhouseprofileexporter:
dsn: clickhouse://localhost:9000/qryn
service:
pipelines:
logs:
receivers: [pyroscopereceiver]
exporters: [clickhouseprofileexporter]
```
?> _That's it!_ You're now ready to ingest _continuous profiling into **qryn** using OTLP Collector!
## ** Pyroscope Java **
<a id=java name=java></a>
You can use qryn with the [Pyroscope Java](https://github.com/grafana/pyroscope-java) client
The agent is distributed as a single JAR file `pyroscope.jar` containing native async-profiler libraries for:

* Linux on x64
* Linux on ARM64
* MacOS on x64
* MacOS on ARM64

<!-- tabs:end -->
26 changes: 26 additions & 0 deletions docs/profiling/query.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# 🔎 Querying Profiling Data

In this section, we'll learn how to query and filter profiling data using **Pyroscope**. Let's get __qryn__!

<!-- tabs:start -->
### ** ⭐ Grafana Pyroscope **
<a id=grafana></a>

Configure a new Pyroscope `datasource` using the Phlare format pointed at **qryn**

![image](https://github.com/metrico/qryn-docs/assets/1423657/5c4f985c-c9fc-4676-8954-ac6973e77e9e)

You are now ready to **explore** profiling data using Pyroscope and _flame visualizations_


### Pyroscope <!-- {docsify-ignore-all} -->
#### Find Profiling data using Pyroscope 🧲

Pyroscope is _Grafana's Continuous Profiling_ stack providing ingestion and filtering capabilities.

#### Search
Use the **qryn** `Pyroscope` datasource to find profiling data using _Search_

![screencast-localhost_3000-2024 01 16-12_43_50-ezgif com-video-to-gif-converter](https://github.com/metrico/qryn-docs/assets/1423657/3fe7167e-504a-42c0-bf51-bdb090ce0f6b)

<!-- tabs:end -->

0 comments on commit d6c7f14

Please sign in to comment.