-
Notifications
You must be signed in to change notification settings - Fork 247
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
Support for receiving profiles #270
Comments
Hi @AndreZiviani, thank you for raising an issue! Aer you referring to Pprof profiles? Is there a reason why |
I'm not sure, I want to be able to instrument my applications with the official Pyroscope libraries (not sure if it sends the profiles as pprof or something else) and send them to grafana agent. I forgot to mention Pyroscope on the original message 🤦♂️
Pyroscope libraries does not expose an endpoint for collection, it is only push-mode. I could look for other libraries but would like to stick with the official ones if possible |
I spoke with the Pyroscope team and they agree that this is a very valid request. The demand for this is likely to grow over time, so it is good to keep the issue open, but we cannot commit to when this will be implemented yet. |
ok, thanks for the followup @ptodev I guess its worth mentioning the future profiling support on opentelemetry, could be a long time before that's approved/implemented but I think its important to consider when implementing either/both options on the agent |
This issue has not had any activity in the past 30 days, so the |
I am looking forward this feature too! |
I was trying to deploy Pyroscope on my dotnet services in a k8s cluster, but had to abandon the idea because of this issue. For context, I use a service mesh where the only service authorized to communicate with *.grafana.net is the alloy deployment and not any first-party service. It also looks like this capability (or similar) has been requested multiple times: Is there any roadmap or update on when this feature could be introduced? |
Hello! Both the Alloy and the Pyroscope teams would welcome the addition of such a receiver component. However, it is not on our roadmap and I can't guarantee if (and when) it would be prioritised. If anyone is interested in submitting a PR for it, please feel free to do so! We would be happy to review it. I don't think OTel would impact the addition of this component. It'd be good to have a Pyroscope receiver component in Alloy even if there is a native OTel receiver for profiling. It could be useful for Pyroscope-instrumented applications. Not everyone may want to (or be able to) move to the OTel profiling instrumentation. The future receiver component will most likely forward the profiles to It would be interesting look into scalability issues:
|
Hi everyone, From the Pyroscope team, I wanted to provide a status update on this (thanks to the Alloy team for your help). Work has already begun, and we're aiming to have this completed by mid-November. Here's a brief overview of what we're planning:
This approach essentially acts as a proxy, maintaining simplicity in the user experience by using the same Alloy capsule as the current one exported by We believe this solution will address the needs expressed in this issue, allowing for more flexible profile ingestion while maintaining compatibility with existing Pyroscope-instrumented applications. |
Hi everyone, Great news - this feature is now available in Alloy release v1.5.0. You can find the new component docs here: https://grafana.com/docs/alloy/latest/reference/components/pyroscope/pyroscope.receive_http. The component is in Public Preview - please try it out and share your feedback! |
Thank you, @marcsanmi! I'll close this issue because the new component has been released. If there are bug reports or feature requests, they could be raised by opening new issues. |
Request
Would be really useful to be able to receive profiles on the agent, something similar to loki.source.api
Use case
The main reasons for me are:
The text was updated successfully, but these errors were encountered: