Skip to content
sigiro
Esc
↑↓navigate↵open⌘Jpreview

Ingest Pyroscope profiles over the Push API

Accept a Pyroscope PushRequest or raw pprof profile. With name, the payload is raw pprof and the service name is the part before the first {; without name, the payload is a PushRequest whose series require a service_name label. Binary bodies may be gzip-compressed. Multipart bodies must carry the payload in the profile field. A missing Content-Type is also accepted as a binary body. See the profile ingest guide.

POST/push.v1.PusherService/Push
Authorization
AuthorizationBearer token (prefixed-api-key) · headerrequired
Query parameters
namestring

When present, the body is a raw pprof profile and the service name is the part before the first {. When absent, the body is a Pyroscope PushRequest and each series must contain a service_name label.

Request body
requiredapplication/octet-stream

Pyroscope PushRequest or raw pprof bytes. For multipart/form-data, put the binary payload in the profile field.

string<binary>
Responses
200

Profile accepted

400

Unsupported media type, malformed payload, missing service name, or empty profile

401

Missing, expired, revoked or invalid credential; the plain-text body says which

403

The credential lacks telemetry:ingest

413

Request body exceeds the configured ingest limit

429

Ingest rate limit exceeded

500

Ingest failed

507

Storage cannot currently accept ingest

Request
curl -X POST '/push.v1.PusherService/Push' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/octet-stream' \
  -d 'string'
Response
Profile accepted