-
-
Notifications
You must be signed in to change notification settings - Fork 71
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
feature request: grafana pyroscope #249
Comments
https://grafana.com/docs/phlare/latest/operators-guide/configure-agent/about-the-agent/
api can be found hear. https://github.com/grafana/phlare/blob/main/proto/push/v1/push.proto |
We now use https://github.com/parca-dev/parca, We modified its code to replace the underlying storage with clickhouse, but parca's grafana plugin is not pretty 😂 |
@Cluas this is most definitely going to be supported, and we'll begin integration as soon as Grafana documents the APIs, since ingestion is only half of the picture. We have no time to reverse engineer the client API right now but if you do, please share the endpoints and requests Grafana uses to accelerate the integration process. |
https://github.com/grafana/phlare/blob/main/pkg/openapiv2/gen/phlare.swagger.json I think this is what we need. |
do you insert the data directly to clickhouse or thru own gRPC server ? |
For direct insertion, I implemented the Querier and MetadataStore interfaces, abstracting the Ingester interface. metastore flag adds the type clickhouse, a new profilestore flag with the option of frostdb or clickhouse. |
Indeed, if you like puzzles! I think as we did for Loki & Co, we need to observe a actual integration and enumerate the MVP APIs we need to support to get started and to establish analogies with our existing underlying formats. We're willing to try this, but we need samples. Any material is super welcome to push this integration forward. |
@lmangani hey again :) key grafana issues to push forward for qryn integration by pyroscope slack thread:
I can probably help contributing, though I would prefer the go version =) |
The proto files for ingestion and query (the only two function this seems to take) are on github so the task is mostly about creating a new table and the required handlers. I would guess this integration should be structurally similar to the tempo handlers, and probably much simpler in terms of complexity being only about a couple endpoints with few parameters. https://github.com/grafana/pyroscope/blob/next/api/querier/v1/querier.proto |
write path edge is the distributor, and read path edge is indeed the querier, so these are the apis we need: they released v1.0 btw, here is their api stability note |
... and thanks to the amazing @tomershafir and @akvlad this idea eventually became a reality! @Cluas let us know what you think if you get around trying this, or feel free to help us add more ingestion protocols in otel-collector 😉 |
https://github.com/grafana/phlare
The text was updated successfully, but these errors were encountered: