ValidateSampleTimestamp returns an err if the sample timestamp is invalid. The returned error may retain the provided series labels.
(validateMetrics *ValidateMetrics, limits *Limits, userID string, ls []cortexpb.LabelAdapter, timestampMs int64)
| 224 | // ValidateSampleTimestamp returns an err if the sample timestamp is invalid. |
| 225 | // The returned error may retain the provided series labels. |
| 226 | func ValidateSampleTimestamp(validateMetrics *ValidateMetrics, limits *Limits, userID string, ls []cortexpb.LabelAdapter, timestampMs int64) ValidationError { |
| 227 | unsafeMetricName, _ := extract.UnsafeMetricNameFromLabelAdapters(ls) |
| 228 | |
| 229 | if limits.RejectOldSamples && model.Time(timestampMs) < model.Now().Add(-time.Duration(limits.RejectOldSamplesMaxAge)) { |
| 230 | validateMetrics.DiscardedSamples.WithLabelValues(greaterThanMaxSampleAge, userID).Inc() |
| 231 | return newSampleTimestampTooOldError(unsafeMetricName, timestampMs) |
| 232 | } |
| 233 | |
| 234 | if model.Time(timestampMs) > model.Now().Add(time.Duration(limits.CreationGracePeriod)) { |
| 235 | validateMetrics.DiscardedSamples.WithLabelValues(tooFarInFuture, userID).Inc() |
| 236 | return newSampleTimestampTooNewError(unsafeMetricName, timestampMs) |
| 237 | } |
| 238 | |
| 239 | return nil |
| 240 | } |
| 241 | |
| 242 | // ValidateExemplar returns an error if the exemplar is invalid. |
| 243 | // The returned error may retain the provided series labels. |
no test coverage detected