(userID string)
| 3499 | } |
| 3500 | |
| 3501 | func (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 | |
| 3519 | func (i *Ingester) getUserMetadata(userID string) *userMetricsMetadata { |
| 3520 | i.usersMetadataMtx.RLock() |
no test coverage detected