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

Method getOrCreateUserMetadata

pkg/ingester/ingester.go:3501–3517  ·  view source on GitHub ↗
(userID string)

Source from the content-addressed store, hash-verified

3499}
3500
3501func (i *Ingester) getOrCreateUserMetadata(userID string) *userMetricsMetadata {
3502 userMetadata := i.getUserMetadata(userID)
3503 if userMetadata != nil {
3504 return userMetadata
3505 }
3506
3507 i.usersMetadataMtx.Lock()
3508 defer i.usersMetadataMtx.Unlock()
3509
3510 // Ensure it was not created between switching locks.
3511 userMetadata, ok := i.usersMetadata[userID]
3512 if !ok {
3513 userMetadata = newMetadataMap(i.limiter, i.metrics, i.validateMetrics, userID, i.cfg.SkipMetadataLimits)
3514 i.usersMetadata[userID] = userMetadata
3515 }
3516 return userMetadata
3517}
3518
3519func (i *Ingester) getUserMetadata(userID string) *userMetricsMetadata {
3520 i.usersMetadataMtx.RLock()

Callers 1

appendMetadataMethod · 0.95

Implementers 1

Ingesterpkg/ingester/ingester.go

Calls 2

getUserMetadataMethod · 0.95
newMetadataMapFunction · 0.85

Tested by

no test coverage detected