MCPcopy Index your code
hub / github.com/cortexproject/cortex / pushMetadata

Method pushMetadata

pkg/ingester/ingester.go:3457–3486  ·  view source on GitHub ↗

pushMetadata returns number of ingested metadata.

(ctx context.Context, userID string, metadata []*cortexpb.MetricMetadata)

Source from the content-addressed store, hash-verified

3455
3456// pushMetadata returns number of ingested metadata.
3457func (i *Ingester) pushMetadata(ctx context.Context, userID string, metadata []*cortexpb.MetricMetadata) int {
3458 ingestedMetadata := 0
3459 failedMetadata := 0
3460
3461 var firstMetadataErr error
3462 for _, metadata := range metadata {
3463 err := i.appendMetadata(userID, metadata)
3464 if err == nil {
3465 ingestedMetadata++
3466 continue
3467 }
3468
3469 failedMetadata++
3470 if firstMetadataErr == nil {
3471 firstMetadataErr = err
3472 }
3473 }
3474
3475 i.metrics.ingestedMetadata.Add(float64(ingestedMetadata))
3476 i.metrics.ingestedMetadataFail.Add(float64(failedMetadata))
3477
3478 // If we have any error with regard to metadata we just log and no-op.
3479 // We consider metadata a best effort approach, errors here should not stop processing.
3480 if firstMetadataErr != nil {
3481 logger := logutil.WithContext(ctx, i.logger)
3482 level.Warn(logger).Log("msg", "failed to ingest some metadata", "err", firstMetadataErr)
3483 }
3484
3485 return ingestedMetadata
3486}
3487
3488func (i *Ingester) appendMetadata(userID string, m *cortexpb.MetricMetadata) error {
3489 i.stoppedMtx.RLock()

Callers 1

PushMethod · 0.95

Implementers 1

Ingesterpkg/ingester/ingester.go

Calls 3

appendMetadataMethod · 0.95
AddMethod · 0.45
LogMethod · 0.45

Tested by

no test coverage detected