pyroscope.receive_http
Public preview: This is a public preview component. Public preview components are subject to breaking changes, and may be replaced with equivalent functionality that cover the same use case. The
stability.level
flag must be set topublic-preview
or below to use the component.
pyroscope.receive_http
receives profiles over HTTP and forwards them to pyroscope.*
components capable of receiving profiles.
The HTTP API exposed is compatible with the Pyroscope HTTP ingest API.
This allows pyroscope.receive_http
to act as a proxy for Pyroscope profiles, enabling flexible routing and distribution of profile data.
Usage
pyroscope.receive_http "<LABEL>" {
http {
listen_address = "<LISTEN_ADDRESS>"
listen_port = "<PORT>"
}
forward_to = <RECEIVER_LIST>
}
The component starts an HTTP server supporting the following endpoint.
POST /ingest
- send profiles to the component, which will be forwarded to the receivers as configured in theforward_to argument
. The request format must match the format of the Pyroscope ingest API.
Arguments
You can use the following arguments with pyroscope.receive_http
:
Blocks
You can use the following blocks pyroscope.receive_http
:
http
The http
block configures the HTTP server.
You can use the following arguments to configure the http
block. Any omitted fields take their default values.
Exported fields
pyroscope.receive_http
doesn’t export any fields.
Component health
pyroscope.receive_http
is reported as unhealthy if it’s given an invalid configuration.
Example
This example creates a pyroscope.receive_http
component, which starts an HTTP server listening on 0.0.0.0
and port 9999
.
The server receives profiles and forwards them to multiple pyroscope.write
components, which write these profiles to different HTTP endpoints.
Note
This example demonstrates forwarding to multiple
pyroscope.write
components. This configuration duplicates the received profiles and send a copy to each configuredpyroscope.write
component.
You can also create multiple pyroscope.receive_http
components with different configurations to listen on different addresses or ports as needed.
This flexibility allows you to design a setup that best fits your infrastructure and profile routing requirements.
Compatible components
pyroscope.receive_http
can accept arguments from the following components:
- Components that export Pyroscope
ProfilesReceiver
Note
Connecting some components may not be sensible or components may require further configuration to make the connection work correctly. Refer to the linked documentation for more details.