-
Notifications
You must be signed in to change notification settings - Fork 300
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
pyroscope.receive_http treats headers inconsistently #2612
Comments
This issue has not had any activity in the past 30 days, so the |
We currently forward all incoming headers of the profile /ingest request to the endpoints defined in `pyroscope.write`. I think this is risky. We already had bugs (like grafana#2201) and there probably a couple more in there already, as I noticed we send on headers like `Content-Length`. I think we should change this and only forward `Content-Type`, before anyone starts relying on this, as this is the only header used: https://github.com/simonswine/pyroscope/blob/b57274a5acbfa867660938ba7e7f5171c3114d68/pkg/ingester/pyroscope/ingest_handler.go#L132 This is still technically a breaking change, but I think it should go forward, as the stabililty of the component is only "public-preview" after all. Fixes grafana#2612
We currently forward all incoming headers of the profile /ingest request to the endpoints defined in `pyroscope.write`. I think this is risky. We already had bugs (like grafana#2201) and there probably a couple more in there already, as I noticed we send on headers like `Content-Length`. I think we should change this and only forward `Content-Type`, before anyone starts relying on this, as this is the only header used: https://github.com/simonswine/pyroscope/blob/b57274a5acbfa867660938ba7e7f5171c3114d68/pkg/ingester/pyroscope/ingest_handler.go#L132 This is still technically a breaking change, but I think it should go forward, as the stabililty of the component is only "public-preview" after all. Fixes grafana#2612
pyroscope.receive_http
supports forwarding pushv1 and ingest handler.For the pushv1 non of the headers are forwarded, while the ingest handler forwards all but a block list of headers:
https://github.com/simonswine/alloy/blob/755bcfcb5ab193488a226f467216b93ce98c6cd1/internal/component/pyroscope/write/write.go#L45-L52
I suggest we should only forward headers, that are important for parsing of the profiles, which includes:
The text was updated successfully, but these errors were encountered: