| 207 | } |
| 208 | |
| 209 | func (m *ValidateMetrics) UpdateLabelSet(userSet map[string]map[uint64]struct{}, logger log.Logger) { |
| 210 | m.LabelSetTracker.UpdateMetrics(userSet, func(user, labelSetStr string, removeUser bool) { |
| 211 | if removeUser { |
| 212 | // No need to clean up discarded samples per user here as it will be cleaned up elsewhere. |
| 213 | if err := util.DeleteMatchingLabels(m.DiscardedSamplesPerLabelSet, map[string]string{"user": user}); err != nil { |
| 214 | level.Warn(logger).Log("msg", "failed to remove cortex_discarded_samples_per_labelset_total metric for user", "user", user, "err", err) |
| 215 | } |
| 216 | return |
| 217 | } |
| 218 | if err := util.DeleteMatchingLabels(m.DiscardedSamplesPerLabelSet, map[string]string{"user": user, "labelset": labelSetStr}); err != nil { |
| 219 | level.Warn(logger).Log("msg", "failed to remove cortex_discarded_samples_per_labelset_total metric", "user", user, "labelset", labelSetStr, "err", err) |
| 220 | } |
| 221 | }) |
| 222 | } |
| 223 | |
| 224 | // ValidateSampleTimestamp returns an err if the sample timestamp is invalid. |
| 225 | // The returned error may retain the provided series labels. |