MCPcopy Create free account
hub / github.com/cortexproject/cortex / OTLP

Method OTLP

integration/e2ecortex/client.go:369–396  ·  view source on GitHub ↗

Push series to OTLP endpoint

(timeseries []prompb.TimeSeries, metadata []prompb.MetricMetadata)

Source from the content-addressed store, hash-verified

367
368// Push series to OTLP endpoint
369func (c *Client) OTLP(timeseries []prompb.TimeSeries, metadata []prompb.MetricMetadata) (*http.Response, error) {
370
371 data, err := pmetricotlp.NewExportRequestFromMetrics(convertTimeseriesToMetrics(timeseries, metadata)).MarshalProto()
372 if err != nil {
373 return nil, err
374 }
375
376 // Create HTTP request
377 req, err := http.NewRequest("POST", fmt.Sprintf("http://%s/api/v1/otlp/v1/metrics", c.distributorAddress), bytes.NewReader(data))
378 if err != nil {
379 return nil, err
380 }
381
382 req.Header.Set("Content-Type", "application/x-protobuf")
383 req.Header.Set("X-Scope-OrgID", c.orgID)
384
385 ctx, cancel := context.WithTimeout(context.Background(), c.timeout)
386 defer cancel()
387
388 // Execute HTTP request
389 res, err := c.httpClient.Do(req.WithContext(ctx))
390 if err != nil {
391 return nil, err
392 }
393
394 defer res.Body.Close()
395 return res, nil
396}
397
398// Query runs an instant query.
399func (c *Client) Query(query string, ts time.Time) (model.Value, error) {

Callers 1

TestOTLPFunction · 0.95

Calls 4

SetMethod · 0.65
DoMethod · 0.65
CloseMethod · 0.65

Tested by 1

TestOTLPFunction · 0.76